ホームページ > バックエンド開発 > PHPチュートリアル > PHP テンプレート ファイルから複数の UTF-8 BOM シーケンスを確実に削除するにはどうすればよいですか?

PHP テンプレート ファイルから複数の UTF-8 BOM シーケンスを確実に削除するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-08 20:05:12
オリジナル
626 人が閲覧しました

How Can I Reliably Remove Multiple UTF-8 BOM Sequences from PHP Template Files?

複数の UTF-8 BOM シーケンスの削除

PHP5 を使用してテンプレート ファイルから生の HTML を出力する問題に対応して、 Byte Order Mark (BOM) は Firefox の互換性を解決していませんでした。より包括的な解決策が見つかりました。

BOM を削除しようとすると、次のコードが提供されます。

if (substr($t, 0, 3) == b'\xef\xbb\xbf') {
    $t = substr($t, 3);
}
ログイン後にコピー

は単一の BOM シーケンスの削除のみに対応します。ただし、Firefox との互換性を確保するには、BOM のすべてのインスタンスを削除する必要があります。

BOM 削除の改訂コード

複数の UTF-8 BOM シーケンスを削除するには、次のコードをお勧めします:

function remove_utf8_bom($text)
{
    $bom = pack('H*','EFBBBF');
    $text = preg_replace("/^$bom/", '', $text);
    return $text;
}
ログイン後にコピー

コード

  • pack('H*','EFBBBF'): この行は、UTF-8 BOM のバイナリ文字列表現を作成します。
  • preg_replace("/^ $bom/", '', $text): この行は正規表現を使用して、文字列の先頭にある BOM シーケンスをすべて検索して削除します (^

このコードを実装すると、テンプレート ファイルが正しくレンダリングされ、Firefox との互換性の問題が解決されます。

以上がPHP テンプレート ファイルから複数の UTF-8 BOM シーケンスを確実に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート