htmlspecialchars
そふぃのPHP入門 >> PHP関数リファレンス >> 文字列関数 >> htmlspecialchars

htmlspecialchars

解説 特殊文字をHTMLエンティティに変換する
書式 string htmlspecialchars( string string [, int quote_style [, string charset ]] )
string htmlspecialchars( string 文字列 [, int 変換スタイル [, string 文字コード ]] )
引数 string 文字列
quote_style " または ' を変換するかどうか
charset 文字コード
返値 特殊文字をHTMLエントリに変換した文字列

PHPマニュアル:htmlspecialchars htmlspecialchars()

htmlspecialchars()関数:概略解説

htmlspecialchars()はHTMLにおいて特殊な意味を持つ文字を、そのまま表示できるようHTMLの表示形式に変換します。

htmlspecialchars()関数:返り値解説

指定した文字列中のHTML特殊文字をHTMLの表示形式に変換した文字列が返されます。

htmlspecialchars()関数:引数解説

string文字列

変換対象の文字列を指定します。変換対象となる文字は以下の通りです。

{include file='argval/htmlspecialchars.tpl'}

htmlspecialchars()では、上記の表に挙げた文字以外の変換は行いません。全てのHTML特殊文字を変換するにはhtmlentities()関数を使用します。

quote_style変換スタイル

"(ダブルクォート)または'(シングルクォート)を変換するかどうか。デフォルトにはENT_COMPACTという値が設定されていますので、ダブルクォートは変換されますが、シングルクォートは変換されません。

quote_styleの指定には以下の定数を使用します。

{include file='const/htmlspecialchars.tpl'}
charset文字コード
変換に使用する文字コード。デフォルトではISO-8859-1。

htmlspecialchars()関数:補足解説

第3引数のcharsetはPHP4.1.0で追加されました。

参考関数

  • htmlentities() ---- 適用可能な文字を全てHTMLエンティティに変換する
  • addslashes() ---- 文字列をバックスラッシュでクォートする
  • stripslashes() ---- バックスラッシュでクォートされた文字列を元に戻す
  • strip_tags() ---- 文字列からHTMLタグ、およびPHPタグを取り除く
  • nl2br() ---- 改行文字の前にHTMLの改行タグを挿入する

サンプルスクリプト

簡単な利用例

  1. <?php
  2. $str = "<a href=\"test\">test</a>";
  3. echo htmlspecialchars($str);
  4. ?>

出力結果

<a href="test">test</a>

&lt;a href=&quot;test&quot;&gt;test&lt;/a&gt;のような文字列になっています。

PHP辞典
PHP辞典 PHP5の関数にも対応したリファレンスですが、関数ごとにバージョンが表示されているのでPHP4ユーザにも安心。簡単なサンプルが全ての関数についている事と目的別検索が魅力です。
PHPポケットリファレンス
PHPポケットリファレンス 携帯用でもOKの小さめの本。関数本にありがちな分厚い・重い・見るのがおっくうという欠点をコンパクト化で解消してます。小さいながらも関数の掲載量・内容は共に十分充実しており、関数ごとのサンプルや目的別検索もあります。