2017-04-13 2 views
-5

Wie entferne ich in PHP alle doppelten Leerzeichen direkt hinter einem Wort, das mit einem @ (at) -Symbol beginnt?PHP regex zum Ersetzen von Wörtern beginnend mit @ end endend mit 2 Leerzeichen

Beispiel Eingabe:

This is an @example input. 

Beispiel Ausgabe:

This is an @example output. 
+1

Was haben Sie versucht, so weit? –

+1

Bitte lesen Sie [Welche Themen kann ich fragen] (http://stackoverflow.com/help/on-topic) und [Wie man eine gute Frage stellt] (http://stackoverflow.com/help/how-to -ask) und [die perfekte Frage] (http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/) und wie man ein [minimales, komplettes und überprüfbares Beispiel] erstellt (http://stackoverflow.com/help/mcve) ** SO ist nicht ** eine kostenlose Codierung oder Code-Konvertierung oder Debuggen oder Tutorial oder Bibliothek Suche Service ___Wir versuchen, Ihren Code zu beheben, schreiben wir nicht Ihren Code___ – RiggsFolly

+0

Verlieren Sie irgendetwas, indem Sie mehrere Inline-Leerzeichen durch ein einzelnes Leerzeichen ersetzen? https://eval.in/775818 – chris85

Antwort

0

Spiel ein Wort mit einem @ beginnen, Reset Anpassungsausgab, passen mehr als ein Leerzeichen danach dann eine Ersatz:

preg_replace('[email protected]\w+\K\s{2,}~', ' ', $input_string); 

Regex Erklärung:

@\w+ # Match a `@` fowlling a word 
\K  # Reset matching process output 
\s{2,} # Match double or more whitespaces 

PHP live demo

Verwandte Themen