Heim > Backend-Entwicklung > PHP-Tutorial > Wie entferne ich Steuerzeichen effektiv aus PHP-Strings?

Wie entferne ich Steuerzeichen effektiv aus PHP-Strings?

Barbara Streisand
Freigeben: 2024-10-30 12:33:04
Original
829 Leute haben es durchsucht

How to Effectively Remove Control Characters from PHP Strings?

Steuerzeichen aus PHP-Strings entfernen

F: Ändern des regulären Ausdrucks zum Entfernen von Steuerzeichen

Ein PHP-Entwickler verwendete zuvor den folgenden Ausdruck, um Steuerzeichen wie STX aus einer Zeichenfolge zu entfernen:

preg_replace("/[^a-zA-Z0-9 .\-_;!:?äÄöÖüÜß<>='\"]/","",$pString)
Nach dem Login kopieren

Das Ergebnis war jedoch zu restriktiv, was die Frage aufwarf: Wie können Steuerzeichen selektiv entfernt werden?

A: Verwendung spezifischer Zeichenklassen zur Identifizierung von Steuerzeichen

Um Steuerzeichen gezielt anzusprechen, kann eine spezifischere Zeichenklasse verwendet werden:

preg_replace('/[\x00-\x1F\x7F]/', '', $input);
Nach dem Login kopieren

Dieser Ausdruck gleicht Zeichen mit ASCII-Codes im Bereich x00-x1F und x7F ab, einschließlich der ersten 32 Zeichen, und x7F, einschließlich Zeichen wie Wagenrückläufe.

Beibehaltung wesentlicher Zeichen wie Zeilenumbrüche

Wenn bestimmte Zeichen wie Zeilenvorschübe oder Wagenrückläufe beibehalten werden müssen, können deren Escape-Sequenzen ausgeschlossen werden:

preg_replace('/[\x00-\x09\x0B\x0C\x0E-\x1F\x7F]/', '', $input);
Nach dem Login kopieren

In diesem modifizierten Ausdruck x0A (Zeilenvorschub) und x0D (Wagenrücklauf) sind von der Zeichenklasse ausgeschlossen.

Moderne Syntax und Veraltung

Es ist wichtig zu beachten, dass die Veraltung von ereg_replace in PHP 5.3.0 und seinen Die anschließende Entfernung in PHP 7.0.0 erfordert die Verwendung von preg_replace anstelle von ereg_replace.

Schließlich eine Zeichenklasse für Steuerzeichen

Für eine prägnante und portable Alternative ist die Zeichenklasse [:cntrl:] einsetzbar:

preg_replace('/[[:cntrl:]]/', '', $input);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie entferne ich Steuerzeichen effektiv aus PHP-Strings?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage