ホームページ > バックエンド開発 > PHPチュートリアル > PHP で CSV ファイルから BOM 文字を削除するにはどうすればよいですか?

PHP で CSV ファイルから BOM 文字を削除するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-03 01:54:29
オリジナル
473 人が閲覧しました

How to Remove BOM Characters from CSV Files in PHP?

インポートされた CSV ファイルから BOM 文字を削除する

CSV ファイルをインポートする場合、バイト オーダー マーク (BOM) 文字によって問題が発生することがあります。 BOM は、ファイルで使用されている文字エンコーディングを識別する 3 バイトのシーケンスです。ただし、一部のアプリケーションでは BOM 文字が正しく処理されず、予期しない結果が生じる可能性があります。

問題: preg_replace('/') または str_replace を使用した BOM の削除

指定されたコードでは、問題は次の点にあります。 preg_replace('/') と str_replace を使用します。これらの関数は文字列から特定の文字を削除する場合には効果的ですが、BOM 文字の処理には適していない可能性があります。 BOM 文字には特定のバイト シーケンスがあり、これらの関数を使用して特定のバイト値をターゲットにすると、常に一貫して機能するとは限りません。

解決策: カスタム関数の使用

BOM 文字を効果的に削除するには、次の使用を検討してください。 BOM バイト シーケンスを特にターゲットとするカスタム関数。関数の例を次に示します。

<code class="php">function removeBomUtf8($s) {
  if (substr($s, 0, 3) == chr(hexdec('EF')) . chr(hexdec('BB')) . chr(hexdec('BF'))) {
    return substr($s, 3);
  } else {
    return $s;
  }
}</code>
ログイン後にコピー

Application

この関数を使用するには、データを処理する前にファイルの内容に適用します。

<code class="php">$filepath = get_bloginfo('template_directory')."/testing.csv";
$content = file_get_contents($filepath);
$content = removeBomUtf8($content);</code>
ログイン後にコピー

BOM を削除した後を選択すると、意図したとおりにデータ処理を続行できます。ただし、スクリプトの残りの部分が、BOM の削除によって行われた変更と互換性があることを確認することが重要です。

以上がPHP で CSV ファイルから BOM 文字を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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