PHPプログラミング

レシピ

文字列

文字列からHTMLタグを除去

文字列にHTMLの記述があると、プレーンなテキストとして出力したいに邪魔になることがあります。そんな時に便利なstrip_tags関数を使って、文字列からHTMLタグを削除する方法を解説します。

この記事のポイント

  • 文字列に含まれるHTMLを取り除く
  • 取り除きたくないHTMLを指定する

目次

HTMLタグを取り除く

文字列を単純に「テキスト」として出力したい。
でもHTMLタグが含まれていて、そのまま出力するとタグも有効になってしまう。
こんなときはHTMLタグを取り除くstrip_tags関数を使います。

例えば、次のようなHTMLタグを含むテキストをecho関数でそのまま出力すると、リンクが有効な状態で出力されてしまいます。

コード例

$string = '<p>今回は、テキストに含まれたHTMLタグの除去方法を解説。</p>
<p>なお、文字列の空白を取り除くことについては、「<a href="/php/remove-space-of-strings/">文字列中の空白(スペース・タブ)を除去</a>」を参照ください。</p>';

echo $string;

実行結果

テキストをそのまま出力

strip_tags関数を実行すると、これらのHTMLタグを除去してプレーンなテキストとして出力することができます。

コード例

$string = '<p>今回は、テキストに含まれたHTMLタグの除去方法を解説。</p>
<p>なお、文字列の空白を取り除くことについては、「<a href="/php/remove-space-of-strings/">文字列中の空白(スペース・タブ)を除去</a>」を参照ください。</p>';

echo strip_tags($string);

実行結果

strip_tags関数を通して出力

pタグaタグを除去したプレーンなテキストとして出力されました。

除去したくないHTMLタグを指定する

さらに、除去しないHTMLタグを指定することも可能です。
strip_tags関数の2つ目のパラメータに指定します。

次のコードではpタグのみ残して、それ以外のタグを全て削除する指定を行なっています。

コード例

$string = '<p>今回は、テキストに含まれたHTMLタグの除去方法を解説。</p>
<p>なお、文字列の空白を取り除くことについては、「<a href="/php/remove-space-of-strings/">文字列中の空白(スペース・タブ)を除去</a>」を参照ください。</p>';

echo strip_tags( $string, '<p>');

実行結果

strip_tags関数に2つ目のパラメータを指定して実行

aタグdivタグなど複数指定することも可能です。

コード例

strip_tags( $string, '<a><div>');

なお、JavaScriptの記述を行うscriptタグもHTMLタグの1種なので、同じように除去することが可能です。

Note

strip_tags関数はHTMLのコメントアウトも除去することができます。
しかし、コメントアウトを除去しない指定をすることはできません

こちらの記事は役に立ちましたか?

ありがとうございます。
もしよろしければ、あわせてフィードバックや要望などをご入力ください。

ありがとうございます。
コメントを送信しました。