ホームページ > php教程 > php手册 > PHPテンプレートに空白行が表示される場合の解決策

PHPテンプレートに空白行が表示される場合の解決策

WBOY
リリース: 2016-06-21 08:55:08
オリジナル
1346 人が閲覧しました

ローカルでは解決しましたが、サーバーにアップロードするときにまだ空白行があり、午前中ずっと作業していたので、最終的に自分で解決する方法を見つけることにしました。完璧な解決策。
PHP の表示バッファー表示原則を使用して、正常に削除します。
PHP の先頭に ob_start() の行を追加し、テンプレートが表示される前に ob_end_clean() を追加します。
問題は解決しました。全体的な構造のコード例を示します。

コードをコピーします。 コードは次のとおりです。 >

ob_start(); //これは php の論理演算です
ob_end_clean(); //これは php テンプレートの表示です
ob_end_flush()> ;



他のネチズンからの追加コメント:

開発中に解決されていない問題 このページでは UTF8 エンコーディングが使用されています。 template には先頭と末尾にファイルが含まれているため、先頭と末尾に理由もなく 10px ほどの余分な空白行が発生し、何もありません。
その理由は、ファイルをインクルードする場合、最終的なバイナリ ストリームに複数の UTF8 BOM タグが含まれるため、通常は複数の UTF8 BOM タグを含むページを解析できず、実際に表示されるキャリッジ リターンに直接置き換えられるためです。が空白行にありますが、Firefox ではこの問題は発生しません。
したがって、テンプレートが包含メソッドを使用して複数の utf8 ファイルを含み、ultraedit で保存する必要がある場合は、utf8 を選択して BOM 形式なしで保存するだけです。
さらに、中国語ページが HTML head タグの したがって、utf8 ページでは標準の順序を使用する必要があります



コードをコピーします

コードは次のとおりです。 < meta http-equiv="コンテンツタイプ" content="text/html; charset=UTF-8" /> ;

<メタ名="ロボット" コンテンツ="インデックス、フォロー" />
<メタ名="キーワード" /> " content="" / >


<メタ名="著作権" コンテンツ="" />
<メタ名="ジェネレータ" コンテンツ="" />

🎜>
BOM ヘッダー: xEFxBBxBF、PHP4 および 5 は依然として BOM を無視するため、解析する前に直接出力されます。
この問題については、w3.org の標準 FAQ に特別な説明があります:

http://www.w3.org/International/questions/qa-utf8-bom


詳細は以下の通りです。

UCSエンコーディングには「ZERO WIDTH NO-BREAK SPACE」という文字があり、そのエンコーディングはFEFFです。 FFFE は UCS には存在しない文字ですので、実際の送信では出現しないはずです。 UCS 仕様では、バイト ストリームを送信する前に文字「ZERO WIDTH NO-BREAK SPACE」を送信することが推奨されています。このように、受信機が FEFF を受信した場合は、バイト ストリームがビッグ エンディアンであることを示し、FFFE を受信した場合は、バイト ストリームがリトル エンディアンであることを示します。したがって、「ZERO WIDTH NO-BREAK SPACE」という文字は BOM とも呼ばれます。

UTF-8 では、バイト順序を示すために BOM は必要ありませんが、BOM を使用してエンコード方式を示すことができます。 「ZERO WIDTH NO-BREAK SPACE」という文字の UTF-8 エンコーディングは EF BB BF です。したがって、受信側が EF BB BF で始まるバイト ストリームを受信すると、それが UTF-8 でエンコードされていることを認識します。

Windows は、BOM を使用してテキスト ファイルのエンコード方法をマークするオペレーティング システムです:
WindowsXP
Professional、デフォルトの文字セット: 中国語

1) メモ帳: 自動的にBOM を含む UTF-8 エンコード形式のファイルはありませんが、ファイルを保存するときに BOM を追加するかどうかを制御することはできません。BOM は一律に追加されます。

2) editplus: BOM のない UTF-8 エンコード形式のファイルを自動的に認識できません。ファイルを保存するときに UTF-8 形式を選択すると、ファイル ヘッダーに BOM ヘッダーが書き込まれません。 ) UltraEdit: 文字エンコーディングの最も強力な機能で、BOM の有無にかかわらず UTF-8 ファイルを自動的に識別できます (設定可能)。 (特別な設定を通じて BOM を追加するかどうかを選択できます)。新しく作成したファイルを保存するときは、utf-8 no bom 形式で保存することを選択する必要があることに注意してください)

その後、Notepad ++ も utf-8 bom をより適切にサポートしていることがわかりました。そして誰でもそれを使用することをお勧めします。







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