Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengalih Keluar Berbilang Urutan BOM UTF-8 daripada HTML Dijana PHP?

Bagaimanakah Saya Boleh Mengalih Keluar Berbilang Urutan BOM UTF-8 daripada HTML Dijana PHP?

Barbara Streisand
Barbara Streisandasal
2024-12-08 15:01:10452semak imbas

How Can I Remove Multiple UTF-8 BOM Sequences from PHP-Generated HTML?

Mengalih keluar Berbilang Urutan UTF-8 BOM

Apabila menjana templat HTML menggunakan PHP5 (CGI), menghadapi masalah dengan output HTML mentah mungkin disebabkan dengan kehadiran berbilang UTF-8 Byte Order Marks (BOM). Untuk menyelesaikan masalah ini, pertimbangkan untuk melaksanakan strategi berikut:

Menggunakan Ungkapan Biasa

Satu kaedah ialah menggunakan ungkapan biasa untuk mengalih keluar BOM. Dengan menggunakan kod di bawah, anda boleh menghapuskan semua kejadian BOM daripada teks anda dengan berkesan:

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

Penyingkiran Bait Tersuai

Sebagai alternatif, anda boleh mengalih keluar BOM secara manual dengan memeriksa tiga bait pertama teks input dan menghapuskannya jika ia sepadan dengan urutan BOM UTF-8. Coretan kod berikut menunjukkan pendekatan ini:

if (substr($t, 0, 3) == b'\xef\xbb\xbf') {
    $t = substr($t, 3);
}

Dengan melaksanakan salah satu daripada teknik ini, anda seharusnya berjaya mengalih keluar sebarang BOM UTF-8 yang berlebihan dan memastikan paparan templat HTML anda yang betul dalam Firefox.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengalih Keluar Berbilang Urutan BOM UTF-8 daripada HTML Dijana PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn