はじめに
ウェブ開発において、ユーザー入力やデータベースから取得したデータにはHTMLタグやPHPタグが含まれていることがあります。これらのタグを取り除いて純粋なテキストを抽出することが必要な場合があります。PHPにはこの目的に使用できる便利な関数があります。それが strip_tags()
です。本記事では、この関数の使い方とその利点について説明します。
strip_tags()
関数の基本
strip_tags()
関数は、指定した文字列からHTMLおよびPHPタグを取り除きます。この関数は、例えば以下のようなシナリオで役立ちます。
- ユーザーからの入力を安全に処理する
- テキストのサニタイズ
- HTMLメールの本文をプレーンテキストに変換
使い方
strip_tags()
関数の基本的な使い方は非常に簡単です。以下にその例を示します。
<?php
$text = "<p>This is a <b>bold</b> paragraph with <a href='#'>a link</a>.</p>";
$clean_text = strip_tags($text);
echo $clean_text; // This is a bold paragraph with a link.
?>
この例では、$text
という変数に含まれるHTMLタグがすべて取り除かれ、$clean_text
にはプレーンテキストのみが残ります。
許可するタグを指定する
strip_tags()
関数には、特定のタグを許可するオプションもあります。例えば、段落タグ <p>
と改行タグ <br>
を許可する場合は以下のようにします。
<?php
$text = "<p>This is a <b>bold</b> paragraph with <a href='#'>a link</a>.</p>";
$clean_text = strip_tags($text, '<p><br>');
echo $clean_text; // <p>This is a bold paragraph with a link.</p>
?>
この例では、<p>
と <br>
タグは保持され、それ以外のタグは取り除かれます。
使用上の注意点
strip_tags()
関数は非常に便利ですが、いくつかの注意点があります。
- エンコードの問題: タグの中に不正なエンコードが含まれている場合、期待通りに動作しないことがあります。
- 不完全なタグ: 閉じタグがない場合やタグが不完全な場合、予期しない結果を引き起こす可能性があります。
- 高度なサニタイズ: より厳密なサニタイズが必要な場合は、他のライブラリや関数を使用することを検討してください。
まとめ
strip_tags()
関数は、文字列からHTMLおよびPHPタグを簡単に取り除くための強力なツールです。ユーザー入力のサニタイズやデータベースから取得したデータの整形に役立ちます。必要に応じて許可するタグを指定することもできるため、柔軟な処理が可能です。