strip_tags関数の使い方

strip_tags関数は指定した文字列からhtmlタグを取り除きます。
第一引数にhtmlタグを取り除く文字列、第二引数に取り除かないhtmlタグを指定します。返り値はhtmlタグを取り除いた文字列です。

strip_tags(htmlタグを取り除く文字列, 取り除かないhtmlタグ);

WordPressの投稿のタイトルにhtmlタグが含まれている場合、get_the_title();のechoはhtmlタグをそのまま出力します。そこで画像のalt等に投稿のタイトルを出力する場合は、strip_tags関数でhtmlタグを取り除きます。

<?php
  $title = strip_tags(get_the_title());
?>
<img src="<?= get_the_post_thumbnail_url(); ?>" alt="<?= $title; ?>">

なお、WordPressのテンプレートタグであるthe_title_attribute();を利用すれば、strip_tags関数を使用しなくても投稿のタイトルからhtmlタグを取り除けます。

<img src="<?= get_the_post_thumbnail_url(); ?>" alt="<?php the_title_attribute(); ?>">

注意点として、strip_tags関数が除去するのはhtmlタグだけなので、styleタグやscriptタグは中身のコードが残ってしまいます。

<?php
  $text = '<style>a {color: red;}</style>
  <a href="xxx.html">リンク</a>';

  echo strip_tags($text);
?>

実行結果は以下の通りです。

a {color: red;}
リンク

WordPressのテンプレートタグであるwp_strip_all_tags();を利用すれば、styleタグやscriptタグの中身のコードまで取り除けます。

<?php
  $text = '<style>a {color: red;}</style>
  <a href="xxx.html">リンク</a>';

  echo wp_strip_all_tags($text);
?>

実行結果は以下の通りです。

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