元のアドレス: http://www.manongjc.com/article/1103.html
まず、htmlspecialchars 関数とstrip_tags 関数の使用例を見てみましょう:
<?php $str="<a href='http://www.manongjc.com'>码农教程'\"</a>"; echo htmlspecialchars($str); echo "<br/><br/>"; echo strip_tags($str); ?>
ブラウザは次の結果を出力します:
Coder Tutorial' "
Coder Tutorial'"
ページのソース コードを表示すると、結果は次のようになります:
<a href='http://www.manongjc.com'>码农教程'"</a><br/><br/>码农教程'"
結果から、htmlspecialchars() とstrip_tags の違いは次のとおりであることがわかります:
違い 1:
strip_tags 関数は HTML タグを削除するために使用されますが、htmlspecialchars は HTML タグを削除せず、タグを HTML インスタンスに変換するだけです。そのため、この 2 つの最大の違いは、1 つは HTML タグを削除すること、もう 1 つは HTML タグを削除することです。もう 1 つは、HTML タグを他の文字に変換することです。
違い 2:
HTML タグから削除する必要がある文字列内のタグが元々間違っている (大なり記号が欠落しているなど) 場合、strip_tags 関数を使用するとエラーが返されますが、 htmlspecialchars ではエラーは表示されませんが、それでも HTML エンティティに変換されます。
違い 3:
XSS 攻撃を防ぐ場合、通常は htmlspecialchars 関数を使用することをお勧めします。これは、strip_tags は HTML タグを削除できますが、「 」または「 」は削除しないためです。したがって、strip_tags を使用した場合でも、 htmlspecialchars 関数を使用する必要があります。フォーム送信やユーザー掲示板で「または '
」を除外するには、ブラウザでオリジナルのデータを出力したい場合は、strip_tags 関数を使用せず、htmlspecialchars 関数を使用してください。
htmlspecialchars() 関数とstrip_tags 関数の詳細については、次を参照してください:
http://www.manongjc.com/article/1213.html
http://www.manongjc.com/article/1099 .html
http://www.manongjc.com/article/795.html