Wie werden alle nicht-alphanumerischen und nicht-Leerzeichen aus einer Zeichenfolge in PHP entfernt?

8

Ich möchte alle nicht alphanumerischen und Leerzeichen aus einer Zeichenfolge entfernen. Deshalb möchte ich, dass Räume bleiben. Was setze ich für ein Leerzeichen in die untere Funktion innerhalb der [] Klammern:

%Vor%

Mit anderen Worten, welches Symbol steht für den Raum, ich weiß, dass \ n für eine neue Zeile steht, gibt es ein solches Symbol für ein einzelnes Leerzeichen.

    
Daniel 23.03.2010, 19:00
quelle

3 Antworten

25

Platziere einfach ein Leerzeichen in deine Zeichenklasse:

%Vor%

Für andere Leerzeichen (Tabulator, Zeilenumbrüche usw.) verwenden Sie stattdessen \s .

Sie sollten sich auch darüber im Klaren sein, dass die POSIX ERE-Funktionen für reguläre Ausdrücke von PHP veraltet sind und entfernt werden in PHP 6 zugunsten der PCRE-Funktionen für reguläre Ausdrücke . Daher empfehle ich Ihnen, stattdessen preg_replace zu verwenden:

%Vor%     
Gumbo 23.03.2010, 19:01
quelle
2

Wenn Sie nur einen Literalraum haben möchten, geben Sie einen ein. Die Gruppe für 'Leerzeichen' wie Tab und Zeilenumbrüche ist \ s

    
Chibu 23.03.2010 19:02
quelle
1

Die akzeptierte Antwort entfernt keine Leerzeichen.

Betrachten Sie Folgendes:

%Vor%

Wenn wir nun Leerzeichen str_replazieren, erhalten wir die gewünschte Ausgabe

%Vor%     
jaredstenquist 03.11.2012 02:15
quelle

Tags und Links