PHP – HTMLタグから文字列のみを取得する

変数に格納されているHTMLタグすべてを取り除き文字列のみを抜き出したい場合strip_tags()が有効です。strip_tags()は文字列からHTMLおよびPHPタグを取り除きます。

シンプルに下記のHTMLタグから文字列のみ取得したい場合次のように使用します。

$text = '<h3 class="sample"><a href="https://www.php.net/manual/ja/function.strip-tags.php">strip_tags - Manual</a></h3>';
echo strip_tags($text);

値の中身は次のような結果になっています。結果からわかるように<a>タグのURLは取り除きの対象になっています。

string(19) "strip_tags - Manual"

また第二引数で特定のタグだけ取り除かないという設定も可能です。例えば<a>タグだけ抜き出さないようにしたい場合次のように記述します。

$hoge = strip_tags($text, '<a>');

ちなみに複数のタグを無効化することも可能です。また、PHP 7.4.0 以降ではarray指定での記述も可能になっています。

$hoge = strip_tags($text, ['h3', 'a']);

参考文献