私は プロのWordPressを読んだ そしてそれは言う:
esc_html
関数は、HTMLを含むデータを削除するために使用されます。この関数は特殊文字をそれらのHTMLエンティティにエンコードしますHTML属性をエスケープするために
esc_attr
関数が使用されています
esc_url
。この関数は不正な文字のためにURLをスクラブするために使われるべきです。 hrefは技術的にはHTML属性ですが
これらの違いは何ですか?
持っていれば
<script>alert('hello world!');</script>this is some content
すべての< >
を< >
に変換しますか? URLは%xxx
のようなものになりますか?
esc_html
とesc_attr
はほぼ同じですが、唯一の違いは、出力が異なる名前のフィルター(それぞれesc_html
とattribute_escape
)を通過することです。
esc_url
は、より複雑で具体的です。URLや許可されたプロトコルに含めることができない文字(2番目の引数として渡すことができるリスト)を扱います。それが存在しない場合(そしてリンクが相対的でない場合)も、http://
プロトコルで入力を追加します。