2024年06月13日
WP関数:esc_html()
この関数の説明
WP関数の esc_html() は、一般的に使うエスケープ処理(無害化)関数です。
文字列の中にある下記[記号]を[文字コード]に変換します。
記号 | 文字コード | 読み方 |
< | < | 小なり |
> | > | 大なり |
' | ' | シングルクォーテーション |
" | " | ダブルクォーテーション |
& | & | アンパサンド |
関数
esc_html($text )
パラメータ
$text(文字列)(必須)
エスケープ処理をする文字列
戻り値
コードに変換された文字列
事例
①エスケープあり、なしの比較
<?php echo 'abc<script>xxx</script>123'; // エスケープなし echo '<br>'; echo esc_html('abc<script>xxx</script>123'); // エスケープあり ?>
■2行目:単純にechoすると<script>タグが実行されてしまします。(大変危険です)
■4行目:エスケープ処理をすると<>は文字コードに変換されるのでHTMLタグとは認識されません。
■結果は下記になります。
abc123
abc<script>xxx</script>123
②esc_html_e()を利用したケース
esc_html()の代わりにesc_html_e()を使う事もできます。
<?php echo esc_html('abc<script>xxx</script>123'); // エスケープあり echo '<br>'; esc_html_e('abc<script>xxx</script>123'); // エスケープあり ?>
■esc_html_e()は、翻訳したデータをecho esc_html()する関数ですが、翻訳無しでも利用できます。
■上記の実行結果は下記になります。
abc<script>xxx</script>123
abc<script>xxx</script>123
関連情報
関連関数は エスケープ処理関数 を参照してください。