説明
wp_strip_all_tags() は、HTMLタグを、script や style の中身も含めて全て取り除く関数です。
基本構文
wp_strip_all_tags( string $text, bool $remove_breaks = false ): string
引数
$text:文字列$remove_breaks:改行も取り除くか
戻り値
サニタイズ済みの文字列。
使い方(サンプル)
$text = wp_strip_all_tags( $html );
注意点
- PHP標準の
strip_tags()と違い、スクリプトやスタイルの中身も取り除かれます。
実務での使いどころ
- HTMLのタグを、すべて取り除いて、テキストだけにするとき。
- メタディスクリプション用に、本文からタグを除くとき。
よくあるミスと対処
- PHPの
strip_tags()を使っている。<script>の中身が、残る。この関数は、<script>や<style>の中身も取り除く。 - 取り除いたあとの値を、エスケープせずに出力している。出力時は、
esc_html()などを通す。
NG例
echo strip_tags( '<script>alert(1)</script>安全' ); // alert(1) が残る
OK例
echo esc_html( wp_strip_all_tags( $html ) );
使い分け早見表
| 関数 | 特徴 |
|---|---|
wp_strip_all_tags() |
タグと、<script>・<style> の中身を、取り除く |
sanitize_text_field() |
入力値を、1行のテキストに整える |
wp_kses_post() |
許可したタグだけを、残す |
関連項目
wp_kses()、sanitize_text_field()
公式リファレンス:wp_strip_all_tags() | Function | WordPress Developer Resources

コメント