wp_strip_all_tags() の使い方|説明・引数・注意点

説明

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

コメント

タイトルとURLをコピーしました