Heim >Backend-Entwicklung >PHP-Tutorial >Wie entferne ich UTF-8-Stücklistensequenzen zuverlässig aus der PHP-Ausgabe?

Wie entferne ich UTF-8-Stücklistensequenzen zuverlässig aus der PHP-Ausgabe?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-08 08:30:12682Durchsuche

How to Reliably Remove UTF-8 BOM Sequences from PHP Output?

So entfernen Sie effektiv mehrere UTF-8-Stücklistensequenzen

Wenn Sie Probleme mit der Anzeige der rohen HTML-Ausgabe aus PHP-Vorlagendateien haben, ist es wichtig, Folgendes zu tun Beheben Sie das Vorhandensein von UTF-8-BOM-Sequenzen (Byte Order Mark). Dieses Problem kann sich dadurch manifestieren, dass Firefox die Ausgabe nicht akzeptieren kann.

Das folgende PHP-Code-Snippet versucht, Stücklistensequenzen zu entfernen, ist jedoch möglicherweise nicht vollständig wirksam:

function fetch($name) {
    // ...
    if (substr($t, 0, 3) == b'\xef\xbb\xbf') {
        $t = substr($t, 3);
    }
    return $t;
}

Um die vollständige Entfernung sicherzustellen Erwägen Sie für alle Stücklistensequenzen die Verwendung des folgenden robusteren Ansatzes:

function remove_utf8_bom($text)
{
    $bom = pack('H*','EFBBBF');
    $text = preg_replace("/^$bom/", '', $text);
    return $text;
}

Diese Funktion verwendet einen regulären Ausdruck (preg_replace) zum Abgleichen und Entfernen jede Instanz der UTF-8-Stücklistensequenz am Anfang der Zeichenfolge (/^$bom/). Durch die Entfernung aller Stücklisten sollte die Ausgabe von Firefox und anderen Browsern problemlos akzeptiert werden.

Das obige ist der detaillierte Inhalt vonWie entferne ich UTF-8-Stücklistensequenzen zuverlässig aus der PHP-Ausgabe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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