Heim > Artikel > Backend-Entwicklung > Wie entferne ich selektiv Steuerzeichen aus PHP-Strings, ohne wesentliche Zeichen zu entfernen?
Übermäßiges Entfernen von Zeichen aus PHP-Strings verhindern
In PHP erfordert das Entfernen von Steuerzeichen aus einem String sorgfältige Überlegungen, um das Entfernen gültiger Zeichen zu vermeiden. Der bereitgestellte reguläre Ausdruck entfernt erfolgreich Steuerzeichen, löscht jedoch unbeabsichtigt auch andere wichtige Zeichen. Dies wirft die Frage auf: Wie können Programmierer selektiv Steuerzeichen entfernen, ohne die Integrität der Zeichenfolge zu beeinträchtigen?
Um dieses Problem zu beheben, kann ein präziserer regulärer Ausdruck verwendet werden:
<code class="php">preg_replace('/[\x00-\x1F\x7F]/', '', $input);</code>
Dies Ausdruck zielt nur auf die ersten 32 ASCII-Zeichen und x7F ab, die Wagenrückläufe umfassen, während bei Bedarf Zeilenvorschübe und Wagenrückläufe (oft als r und n bezeichnet) beibehalten werden.
<code class="php">preg_replace('/[\x00-\x09\x0B\x0C\x0E-\x1F\x7F]/', '', $input);</code>
Alternativ können Sie [:cntrl :] Zeichenklasse vereinfacht den Ausdruck:
<code class="php">preg_replace('/[[:cntrl:]]/', '', $input);</code>
Hinweis: Ereg_replace ist in PHP veraltet und sollte durch preg_replace ersetzt werden.
Das obige ist der detaillierte Inhalt vonWie entferne ich selektiv Steuerzeichen aus PHP-Strings, ohne wesentliche Zeichen zu entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!