関数の概要
PHPの strip_tags 関数は、文字列からHTMLやPHPのタグを取り除くための関数です。Webサイトの入力データから不要なHTMLタグを削除したい場合や、テキストのみを抽出したい場合に便利です。HTMLタグを除去することで、XSS対策などのセキュリティ向上にも役立ちます。
パラメータの説明
string:タグを取り除きたい元の文字列を指定します。allowable_tags(省略可能):取り除かずに許可したいタグを指定する文字列です。例として、'<b><i>'のように渡します。
戻り値
タグを除去した後の文字列を返します。文字列に含まれていたHTML・PHPタグは削除され、許可タグが指定されていればそれらのみが残ります。
使用例
基本的な使い方
<?php
$text = "<p>これは<b>太字</b>のテキストです。</p>";
$result = strip_tags($text);
echo $result; // 出力: これは太字のテキストです。
?>
この例では、<p>や<b>タグがすべて削除され、純粋なテキストだけが表示されます。
特定のタグを許可する
<?php
$html = "<p>これは<b>太字</b>で<i>斜体</i>のテキストです。</p>";
$result = strip_tags($html, '<b><i>');
echo $result; // 出力: これは太字で斜体のテキストです。
?>
ここでは、<b> と <i> タグだけ許可しているので、それらのタグは残り他のタグは削除されます。
PHPタグの除去
<?php
$data = "これはテキスト<?php echo 'PHPコード'; ?>です。";
$clean = strip_tags($data);
echo $clean; // 出力: これはテキストです。
?>
HTMLタグだけでなくPHPタグも削除されるため、PHPコードを含む文字列からタグ部分を除去可能です。
関連する関数
- htmlspecialchars — HTML特殊文字をエスケープする
- htmlentities — 全てのHTML特殊文字をエンティティに変換する
- preg_replace — 正規表現を使った文字列置換(タグ除去に応用可能)
まとめ
strip_tagsは、文字列からHTMLやPHPのタグを簡単に取り除くための便利な関数です。不要なタグをすべて除去してテキストだけを抽出したい場合や、特定のタグだけ残したい場合にも対応しています。Webアプリケーションのセキュリティ対策やデータ整形に活用でき、初心者からプロまで幅広く使われています。
