esc_htmlを使用する場合とsanitize_text_fieldを使用する場合


11

彼らはほとんど同じタイプの仕事をしているようです。そう...

esc_html()代わりにsanitize_text_field()いつ使うべきですか?

回答:


19

esc_html() 多かれ少なかれロスレスです— HTMLマークアップをエンコードされた可視テキストに変換するだけなので、ブラウザによってマークアップとしてレンダリングされません。

意味的にはescapeなので、ページへの出力を安全にするために使用することを意図しています

sanitize_text_field()ただし、実際にはすべてのHTMLマークアップと余分な空白が削除されます。プレーンテキストのみが残ります。

意味的にはsanitizeなので、入力を安全に保存するために使用することを意図しています。


出力と保存の両方にesc_htmlを使用する方が良いのではないですか?とにかくマークアップを表示しません..したがって、いつsanitize_text_field()を使用しますか?
イェーマン

1
@yeahman「良い」方法は?彼らは明らかに異なることをしています。名前を受け取るフォームなど、マークアップが予期されていないものに通常使用されるマークアップを破棄します。
Rarst、2014

つまり、ユーザーが見たものと入力したものを保存します...ロスレスだと言ったように。彼のポスト)。名前フィールドの場合、検証を介して入力を制御します。それはもっと適していませんか?
ヤーマン14

との違いに興味がsanitize_text_field()ありますstrip_tags
myol 2015年

strip_tagsがsanitize_text_field()で使用されているのは、私が間違っていなければ
yeahman
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.