22 Stimmen

PHP: Byte Sequenz in String ersetzen

Frage von Gast | Letztes Update am 01.05.2022 | Erstellt am 13.03.2014

Ich möchte in einem PHP-Skript einen Text so vorbereiten, dass er ausgegeben werden kann.

Die ursprüngliche Datei enthält neben normalen ASCII und ANSI Zeichen auch einige Bytes und Byte-Sequenzen, die nicht vernünftig dargestellt werden können.

Daher würde ich einige dieser Bytesequenzen (es sind immer dieselben) gerne durch darstellbare Zeichen ersetzen.

Die gesuchten Bytes und die Zeichen, durch die ersetzt werden soll sind mir klar, jedoch habe ich bisher nur normale Strings mit str_replace und PHP ersetzt.

Daher meine Frage: Wie kann ich zum Beispiel die Byte-Sequenz bzw die Code Points E2 80 93 durch das Zeichen "-" ersetzen?

AntwortenPositivNegativ
2Beste Antwort2 Stimmen

Wenn du den hexadezimalen Code eines Zeichen hast (zum Beispiel E2), wäre die Schreibweise in PHP \xE2 für dieses Zeichen.

Um eine ganze Byte-Sequenz aus mehreren hexadezimalen Codes zu ersetzen, kannst du mehrere HEX-Zeichen hintereinander schreiben:

$s = str_replace("\xE2\x80\x93", '-', $s);

Dies würde die Byte-Sequenz E2 80 93 im String $s durch "-" ersetzen.
Letztes Update am 31.10.2022 | Erstellt am 14.03.2014

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.