ホームページ >バックエンド開発 >PHPチュートリアル >PHP 出力から UTF-8 BOM シーケンスを確実に削除する方法
複数の 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) を利用して、文字列 (/^$bom/) の先頭にある UTF-8 BOM シーケンスのインスタンスを照合して削除します。すべての BOM を確実に削除することで、出力は Firefox やその他のブラウザーですぐに受け入れられるようになります。
以上がPHP 出力から UTF-8 BOM シーケンスを確実に削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。