Ich versuche, mehrere Leerzeichen durch ein einzelnes Leerzeichen zu ersetzen. Wenn ich ereg_replace
Verwende, bekomme ich eine Fehlermeldung, dass es veraltet ist.
ereg_replace("[ \t\n\r]+", " ", $string);
Gibt es einen identischen Ersatz dafür. Ich muss mehrere " "
Leerzeichen und mehrere nbsp
Leerzeichen durch ein einzelnes Leerzeichen ersetzen.
Verwenden Sie preg_replace()
und anstelle von [ \t\n\r]
verwenden \s
:
$output = preg_replace('!\s+!', ' ', $input);
From Basis-Syntaxreferenz für reguläre Ausdrücke :
\ d,\w und\s
Kurzschriftzeichenklassen für Ziffern, Wortzeichen (Buchstaben, Ziffern und Unterstriche) und Leerzeichen (Leerzeichen, Tabulatoren und Zeilenumbrüche). Kann innerhalb und außerhalb von Zeichenklassen verwendet werden.
$output = preg_replace('/\s+/', ' ',$input);
\ s ist eine Abkürzung für [ \t\n\r]
. Mehrere Leerzeichen werden durch ein einzelnes Leerzeichen ersetzt.
preg_replace("/[[:blank:]]+/"," ",$input)