【PHP8.x】strip_tags関数の使い方

作成日: 更新日:

strip_tags関数は、文字列からHTMLやXMLのタグを除去する関数です。この関数は、主にウェブアプリケーションにおいて、ユーザーからの入力データに含まれる不正なHTMLタグを取り除き、セキュリティを高める目的で利用されます。例えば、投稿されたコメントや記事の内容に含まれる悪意のあるスクリプトタグ(<script>など)を除去することで、クロスサイトスクリプティング(XSS)攻撃を防ぐための一助となります。

基本的な使い方として、第一引数にはタグを除去したい文字列を指定します。これにより、指定された文字列内のすべてのHTML/XMLタグが取り除かれ、プレーンテキストとして返されます。さらに、第二引数 $allowable_tags をオプションで指定することで、除去せずに残したい特定のタグを指定することも可能です。例えば、<p><a> のように指定すると、段落タグやアンカータグは残しつつ、それ以外のタグは除去されます。

この関数は、HTMLコンテンツからシンプルなテキストを抽出したり、表示前に余分な装飾タグを削除したりする場合にも役立ちます。ただし、strip_tags関数はHTMLパーサーではないため、不完全なHTML構造や複雑なケースにおいては意図しない結果を招く可能性があります。また、XSS対策としては、この関数によるタグ除去だけでなく、htmlspecialchars関数などを用いた適切なエスケープ処理も併用することが重要です。

基本的な使い方

構文(syntax)

strip_tags(string $string, array|string|null $allowed_tags = null): string

引数(parameters)

string $string, array|string|null $allowed_tags = null

  • string $string: タグを取り除きたい文字列を指定します。
  • array|string|null $allowed_tags = null: 取り除かずに残したいHTMLタグを指定します。省略した場合、すべてのHTMLタグが取り除かれます。

戻り値(return)

string

指定された文字列からHTMLおよびPHPタグを取り除いた結果の文字列を返します。

【PHP8.x】strip_tags関数の使い方 | いっしー@Webエンジニア