首頁 > 後端開發 > php教程 > 如何從 PHP 輸出中可靠地刪除 UTF-8 BOM 序列?

如何從 PHP 輸出中可靠地刪除 UTF-8 BOM 序列?

Mary-Kate Olsen
發布: 2024-12-08 08:30:12
原創
695 人瀏覽過

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

如何有效刪除多個UTF-8 BOM 序列

當遇到從PHP 範本檔案顯示原始HTML 輸出的問題時,必須解決UTF-8 BOM(位元組順序標記)序列的存在問題。此問題可能表現為 Firefox 無法接受輸出。

以下PHP 程式碼片段嘗試刪除BOM 序列,但可能不完全有效:

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

確保完全刪除對於所有BOM 序列,請考慮使用以下更穩健的方法:

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

此函數利用正規表示式(preg_replace) 來匹配和刪除字串開頭的UTF-8 BOM任何序列的實例 (/^$bom/)。透過確保刪除所有 BOM,輸出應該很容易被 Firefox 和其他瀏覽器接受。

以上是如何從 PHP 輸出中可靠地刪除 UTF-8 BOM 序列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板