-3

重複の可能性:
w3cマークアップバリデーターアンパサンド(&)エラー

データベースからレコードをプルして表示していますが、エコーすると、W3Cバリデーターがレコードに&があると文句を言います。

ページにうまく表示されます。文字列をきれいにするために私にできることはありますか?

4

1 に答える 1

3

おそらく、表示されているエラーの後に次の説明が続きます。

ドキュメントでエンティティ参照が見つかりましたが、その名前で定義された参照はありません。多くの場合、これは、参照名のスペルミス、エンコードされていないアンパサンド、または末尾のセミコロン(;)を省略したことが原因で発生します。このエラーの最も一般的な原因は、WDGの「URLのアンパサンド」で説明されているように、URLのエンコードされていないアンパサンドです。

エンティティ参照は、アンパサンド(&)で始まり、セミコロン(;)で終わります。ドキュメントでリテラルアンパサンドを使用する場合は、「」としてエンコードする必要があります&(URL内でも!)。エンティティ参照をセミコロンで終了するように注意してください。そうしないと、エンティティ参照が次のテキストに関連して解釈される可能性があります。また、名前付きエンティティの参照では大文字と小文字が区別されることに注意してください。&Aelig; とæは別の文字です。

その説明に注意を払い、&(「文字参照の開始」を &意味する)を(「アンパサンド文字」を意味する)に置き換えます。

PHPには、HTMLで特別な意味を持つすべての文字を、HTMLドキュメントに入れたいプレーンテキストがある場合に使用する必要のある文字参照に変換する機能があります。それを使用してください:htmlspecialchars()最初に。

于 2012-05-31T15:47:13.593 に答える