Steuerzeichen aus PHP-Strings entfernen
Bei der Arbeit mit PHP-Strings ist es manchmal notwendig, Steuerzeichen wie STX zu entfernen. Beim Versuch, preg_replace zu verwenden, haben Sie möglicherweise festgestellt, dass überschüssige Zeichen außerhalb der Steuerzeichen entfernt wurden. Unser Fokus liegt hier darauf, Ihnen zu zeigen, wie Sie selektiv nur Steuerzeichen entfernen.
Um dies zu erreichen, können Sie den folgenden Code verwenden:
preg_replace('/[\x00-\x1F\x7F]/', '', $input);
Dieses Muster gleicht Zeichen aus dem Bereich ab und ersetzt sie der Hexadezimalwerte x00 bis x1F, sowie den Wert x7F. Dieser Bereich umfasst die ersten 32 ASCII-Zeichen sowie das DEL-Zeichen.
Wenn Sie bestimmte Steuerzeichen wie Zeilenvorschub und Wagenrücklauf beibehalten möchten, können Sie das Muster entsprechend anpassen:
preg_replace('/[\x00-\x09\x0B\x0C\x0E-\x1F\x7F]/', '', $input);
Mit diesem Muster können Sie alle Steuerzeichen außer Zeilenvorschub (n) und Wagenrücklauf (r) entfernen.
Es ist wichtig zu beachten, dass ereg_replace in PHP >= 5.3 veraltet ist. 0 und in PHP >= 7.0.0 entfernt. Um die Kompatibilität sicherzustellen, verwenden Sie stattdessen preg_replace:
preg_replace('/[[:cntrl:]]/', '', $input);
Das obige ist der detaillierte Inhalt vonWie entferne ich selektiv Steuerzeichen aus PHP-Strings?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!