ホームページ バックエンド開発 PHPチュートリアル ページBOM(UTF-8)の空白行を検出・削除する方法_PHPチュートリアル

ページBOM(UTF-8)の空白行を検出・削除する方法_PHPチュートリアル

Jul 13, 2016 am 10:49 AM
bom utf-8 そして 消去 発見する 存在する 私たち 方法 検出 空白 空行 ページ

理由もなくページに空白行が存在することがよくありますが、これは BOM (UTF-8) が原因であることがわかっています。 (UTF-8) の検出および削除方法。

下の図は、上記の状況が発生した後にfirebugで表示されたHTMLコードです。

図1

不可解なことに余分な空白行がありますが、ソースコードを見ると、空白行はありません。


私の最も一般的な方法は、php を使用して置き換えることです

BOM: ユニバーサル コード ファイル署名 BOM (バイト オーダー マーク、U+FEFF)

BOM の内容は、UNICODE がどのエンコーディングであるかを示すことができますが、受信したファイルを逆アセンブルして DB に書き込む必要があります。BOM を見るのは少し面倒です。


utf8_encode では、BOM の書き込み/削除をテストするために使用できるプログラムが 2 つありました。

書き込まれたファイルの内容の前にBOMを追加します

コードは次のとおりです コードをコピー

関数 writeUTF8File($filename,$content)
{
$f = fopen($filename, 'w');
fwrite($f, Pack("CCC", 0xef,0xbb,0xbf));
fwrite($f,$content);
fclose($f);
}
?>

BOM機能を削除

コードは次のとおりです コードをコピー

関数removeBOM($str = '')
{
if (substr($str, 0,3) == Pack("CCC",0xef,0xbb,0xbf)) {
$str = substr($str, 3);
}
$str;
を返します }
?>

上記の BOM = Pack("CCC",0xef,0xbb,0xbf) なので、BOM を削除するには、上記の RemoveBOM 関数または次のいずれかを使用できます:

■str_replace("锘�", '', $bom_content);
■preg_replace("/^锘�/", '', $bom_content);
この文字列が UTF-8 であるかどうかを判断する関数も参照してください:

コードは次のとおりです コードをコピー

関数はUTF8($string)です
{
Return (utf8_encode(utf8_decode($string)) == $string);
}

Linuxシステムの問題を解決するにはシェルを使用してください

UTF-8 エンコーディングでの BOM の検出と削除について詳しく説明する前に、例でウォームアップしてみましょう:

コードは次のとおりです コードをコピー
shell -s http://www.bKjia.c0m/ | sed -n l
锘� //EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> $

上に示すように、最初の 3 バイトはそれぞれ 357、273、277 であり、8 進数の BOM です。

コードは次のとおりです コードをコピー
シェル>curl -s http://www.111cn.Net/head -C
00000000 ef bb bf 3c 21 44 4f 43 54 59 50 45 20 68 74 6d |... 00000010 6c 20 50 55 42 4c 49 43 20 22 2d 2f 2f 57 33 43 |l パブリック "-//W3C|
00000020 2f 2f 44 54 44 20 58 48 54 4d 4c 20 31 2e 30 20 |//DTD XHTML 1.0 |
00000030 54 72 61 6e 73 69 74 69 6f 6e 61 6c 2f 2f 45 4e |移行//EN|
00000040 22 20 22 68 74 74 70 3a 2f 2f 77 77 77 2e 77 33 |" "http://www.w3|
00000050 2e 6f 72 67 2f 54 52 2f 78 68 74 6d 6c 31 2f 44 |.org/TR/xhtml1/D|
00000060 54 44 2f 78 68 74 6d 6c 31 2d 74 72 61 6e 73 69 |TD/xhtml1-transi|
00000070 74 69 6f 6e 61 6c 2e 64 74 64 22 3e 0d 0a |tional.dtd">..|

上に示すように、最初の 3 バイトは EF、BB、BF であり、16 進数の BOM です。 注: サードパーティ Web サイトのページが使用されるため、サンプルが常に利用可能であるという保証はありません。 実際にプロジェクトを開発する場合、数百、数千のテキスト ファイルが BOM と混在している場合、BOM を含む UTF-8 テキスト ファイルが存在しない場合は、vi を使用して作成することができます。関連するコマンドは次のとおりです。

UTF-8 エンコーディングを設定します:

コードは次のとおりですコードをコピー:ファイルエンコーディング=utf-8を設定します
BOM の追加:

コードは次のとおりですコードをコピー:爆弾を設置

BOM を削除:

コードは次のとおりです コードをコピー
:爆弾を設定しない

BOM のクエリ:

コードは次のとおりです コードをコピー
:爆弾を設置しますか?

UTF-8 エンコーディングで BOM を検出するにはどうすればよいですか?

コードは次のとおりです コードをコピー

shell> grep -r -I -l $'^锘�' /path UTF-8 エンコードで BOM を削除するにはどうすればよいですか?

shell> grep -r -I -l $'^锘�' /path xargs sed -i 's/^锘�//;q'

推奨: SVN を使用する場合は、関連するコードをコミット前フックに追加して、BOM を排除できます。

コードは次のとおりです コードをコピー

#!/bin/bash

リポス = "$1"
TXN="$2"

SVNLOOK=/usr/bin/svnlook

$($SVNLOOK が変更されました -t "$TXN" "$REPOS" | awk '/^[AU]/ {print $NF}') の FILE について If $SVNLOOK cat -t "$TXN" "$REPOS" "$FILE" | then
echo "バイト オーダー マークは $FILE にあります" 1>&2
1番出口
ふぃ
完了しました

この記事では多くのシェルコマンドを使用します

方法 3、Ultraedit エディターを使用してドキュメントを直接変更します

空白行を含むドキュメントを BOM 形式で保存します。


下の図は、ultraedit がドキュメントを保存するときのエンコード形式です:

図2

内部で UTF8 を選択します - BOM なし、すべてが解決されます

http://www.bkjia.com/PHPjc/632732.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/632732.html技術記事ページ内に理由もなく空白行が存在することがよくありますが、それをエディターで見ると、これが BOM (UTF-8) によって引き起こされていることがわかります。いくつかの問題を紹介します。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

トマト無料小説アプリで小説を書く方法. トマトノベルで小説を書く方法に関するチュートリアルを共有します。 トマト無料小説アプリで小説を書く方法. トマトノベルで小説を書く方法に関するチュートリアルを共有します。 Mar 28, 2024 pm 12:50 PM

トマト ノベルは非常に人気のある小説閲覧ソフトウェアです。トマト ノベルでは、新しい小説や漫画を読むことができます。どの小説も漫画もとても面白いです。小説を書きたい友達もたくさんいます。お小遣いを稼いで、小説の内容を編集することもできます。 「テキストに文章を書きたいです。それで、小説はどうやって書くのですか?友達は知らないので、一緒にこのサイトに行きましょう。小説の書き方の入門を少し見てみましょう。」 Tomato Novels を使用して小説を書く方法に関するチュートリアルを共有します。 1. まず、携帯電話で Tomato Free Novels アプリを開き、パーソナル センター - ライター センターをクリックします。 2. Tomato Writer Assistant ページに移動し、次の場所で [新しい本の作成] をクリックします。小説の終わり

WeChat で削除された連絡先を回復する方法 (簡単なチュートリアルでは、削除された連絡先を回復する方法について説明します) WeChat で削除された連絡先を回復する方法 (簡単なチュートリアルでは、削除された連絡先を回復する方法について説明します) May 01, 2024 pm 12:01 PM

残念ながら、WeChat は広く使用されているソーシャル ソフトウェアであり、何らかの理由で特定の連絡先を誤って削除してしまうことがよくあります。ユーザーがこの問題を解決できるように、この記事では、削除された連絡先を簡単な方法で取得する方法を紹介します。 1. WeChat の連絡先削除メカニズムを理解します。これにより、削除された連絡先を取得できるようになります。WeChat の連絡先削除メカニズムでは、連絡先がアドレス帳から削除されますが、完全には削除されません。 2. WeChat の組み込みの「連絡先帳復元」機能を使用します。WeChat には、この機能を通じて以前に削除した連絡先をすばやく復元できる「連絡先帳復元」機能が用意されています。 3. WeChat 設定ページに入り、右下隅をクリックし、WeChat アプリケーション「Me」を開き、右上隅にある設定アイコンをクリックして設定ページに入ります。

WeChat でブロックされたり削除されたり、永久に追加できなくなったりする可能性があるというのは本当ですか? WeChat でブロックされたり削除されたり、永久に追加できなくなったりする可能性があるというのは本当ですか? Apr 08, 2024 am 11:41 AM

1. まず、相手を永久にブロックして削除して永久に追加しないのは間違いで、ブロックして削除した後に相手を追加したい場合は、相手の同意だけが必要です。 2. ユーザーが誰かをブロックすると、相手はユーザーにメッセージを送信したり、ユーザーの友達サークルを表示したり、ユーザーと通話したりすることができなくなります。 3. ブロックとは、ユーザーの WeChat 連絡先リストから相手を削除することを意味するものではありません。 4. ユーザーが相手をブロックした後、ユーザーの WeChat 連絡先リストから相手を削除した場合、削除後に回復する方法はありません。 5. ユーザーが相手を再度友達として追加したい場合は、相手が同意してユーザーを再度追加する必要があります。

TikTokのチャット履歴を完全に削除する方法 TikTokのチャット履歴を完全に削除する方法 May 07, 2024 am 11:14 AM

1. Douyin アプリを開き、インターフェイスの下部にある [メッセージ] をクリックし、削除する必要があるチャット会話エントリをクリックします。 2. 任意のチャット記録を長押しし、[複数選択]をクリックし、削除したいチャット記録にチェックを入れます。 3. 右下隅の [削除] ボタンをクリックし、ポップアップ ウィンドウで [削除の確認] を選択して、これらのレコードを完全に削除します。

モバイルドラゴンの卵を孵化させる秘密が明らかに(モバイルドラゴンの卵をうまく孵化させる方法を段階的に教えます) モバイルドラゴンの卵を孵化させる秘密が明らかに(モバイルドラゴンの卵をうまく孵化させる方法を段階的に教えます) May 04, 2024 pm 06:01 PM

テクノロジーの発展に伴い、モバイルゲームは人々の生活に欠かせないものになりました。かわいいドラゴンエッグの画像と面白い孵化過程で多くのプレイヤーの注目を集めており、その中でも注目を集めているゲームの一つがモバイル版ドラゴンエッグです。プレイヤーがゲーム内で自分のドラゴンをより適切に育成し成長させることができるように、この記事ではモバイル版でドラゴンの卵を孵化させる方法を紹介します。 1. 適切な種類のドラゴン エッグを選択する プレイヤーは、ゲーム内で提供されるさまざまな種類のドラゴン エッグの属性と能力に基づいて、自分に適したドラゴン エッグの種類を慎重に選択する必要があります。 2. 孵化機のレベルをアップグレードします。プレイヤーはタスクを完了し、小道具を収集することで孵化機のレベルを向上させる必要があります。孵化機のレベルは孵化速度と孵化成功率を決定します。 3. プレイヤーはゲームに参加する必要がある孵化に必要なリソースを収集します。

すぐにマスター: Huawei 携帯電話で 2 つの WeChat アカウントを開く方法が明らかに! すぐにマスター: Huawei 携帯電話で 2 つの WeChat アカウントを開く方法が明らかに! Mar 23, 2024 am 10:42 AM

今日の社会において、携帯電話は私たちの生活に欠かせないものとなっています。私たちの日常のコミュニケーション、仕事、生活のための重要なツールとして、WeChat はよく使用されます。ただし、異なるトランザクションを処理する場合は 2 つの WeChat アカウントを分離する必要がある場合があり、そのためには携帯電話が 2 つの WeChat アカウントへの同時ログインをサポートする必要があります。有名な国内ブランドとして、ファーウェイの携帯電話は多くの人に使用されていますが、ファーウェイの携帯電話で 2 つの WeChat アカウントを開設する方法は何でしょうか?このメソッドの秘密を明らかにしましょう。まず、Huawei 携帯電話で 2 つの WeChat アカウントを同時に使用する必要があります。最も簡単な方法は次のとおりです。

PPT スライドを再生するときに空白が発生した場合の対処方法 PPT スライドを再生するときに空白が発生した場合の対処方法 Mar 26, 2024 pm 07:51 PM

1. 作成した PPT ファイルを開き、2 番目のスライドを選択します。 2. 2 番目のスライドで、いずれかの写真を選択し、[アニメーション] を選択してアニメーション効果を追加します。 3. アニメーションバーの開始列で、[スタンドアロン中] を [前のアニメーションの後] に変更すると、ピクチャアニメーションのラベル [1] が [0] に変わることがわかります。後続のスライドでも同じことを行い、最後にスライドを再生すると効果を確認できます。

携帯電話の文字サイズの設定方法(携帯電話の文字サイズを簡単に調整できます) 携帯電話の文字サイズの設定方法(携帯電話の文字サイズを簡単に調整できます) May 07, 2024 pm 03:34 PM

携帯電話が人々の日常生活において重要なツールになるにつれて、フォント サイズの設定は重要なパーソナライゼーション要件になりました。さまざまなユーザーのニーズを満たすために、この記事では、簡単な操作で携帯電話の使用体験を向上させ、携帯電話のフォントサイズを調整する方法を紹介します。携帯電話のフォント サイズを調整する必要があるのはなぜですか - フォント サイズを調整すると、テキストがより鮮明で読みやすくなります - さまざまな年齢のユーザーの読書ニーズに適しています - フォント サイズを使用すると、視力の悪いユーザーにとって便利です携帯電話システムの設定機能 - システム設定インターフェイスに入る方法 - 設定インターフェイスで「表示」オプションを見つけて入力します。 - 「フォント サイズ」オプションを見つけて、サードパーティでフォント サイズを調整します。アプリケーション - フォント サイズの調整をサポートするアプリケーションをダウンロードしてインストールします - アプリケーションを開いて、関連する設定インターフェイスに入ります - 個人に応じて

See all articles