定義済みの文字 "<"(より小)および ">"(より大)を HTMLエンティティに変換します:
<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars($str);
?>
上のコードのHTML出力は次の通り(ソース表示):
<!DOCTYPE html>
<html>
<body>
This is some <b>bold</b> text.
</body>
</html>
ブラウザへの上のコードの出力は、次の通り:
This is some <b>bold</b> text.
例の実行 »
htmlspecialchars() f関数は、定義済みの文字をHTMLエンティティに変換します。
定義済みの文字は以下の通りです:
チップ: 特殊なHTMLエンティティを文字に変換するには、 htmlspecialchars_decode()関数を使用します。
htmlspecialchars(string,flags,character-set,double_encode)
パラメータ | 説明 |
---|---|
string | 必須。変換する文字列を指定する |
flags | 任意。クォート、無効なエンコーディング、および使用する文書タイプの処理方法を指定する。 使用可能なクォートスタイルは次の通り:
無効なエンコード:
使用する文書タイプを指定する追加のフラグ:
|
character-set | 任意。使用する文字セットを指定する文字列。 使用可能な値:
注: 認識できない文字セットは無視され、PHP 5.4より前のバージョンではISO-8859-1に置き換えられます。 PHP 5.4以降は無視され、UTF-8に置き換えられます。 |
double_encode | 任意。既存のHTMLエンティティをエンコードするかどうかを指定するブール値
|
返り値: | 変換した文字列を返します NT_IGNOREフラグまたはENT_SUBSTITUTEフラグがセットされていない場合、文字列に無効なエンコーディングが含まれていると空の文字列を返します。 |
---|---|
PHP バージョン: | 4+ |
変更歴 | character-set パラメータのデフォルト値は、PHP 5でUTF-8に変更されました ENT_SUBSTITUTE、ENT_DISALLOWED、ENT_HTML401、ENT_HTML5、ENT_XML1 と ENT_XHTML は PHP 5.4 で追加されました ENT_IGNORE は PHP 5.3 で追加されました double_encode パラメータは PHP 5.2.3 で追加されました character-set パラメータは PHP 4.1 で追加されました |
定義済みの文字をHTMLエンティティに変換します:
<?php
$str = "Jane & 'Tarzan'";
echo htmlspecialchars($str, ENT_COMPAT); // Will only convert double quotes
echo "<br>";
echo htmlspecialchars($str, ENT_QUOTES); // Converts double and single quotes
echo "<br>";
echo htmlspecialchars($str, ENT_NOQUOTES); // Does not convert any quotes
?>
上のコードのHTML出力は次の通り(ソース表示):
<!DOCTYPE html>
<html>
<body>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'
</body>
</html>
ブラウザへの上のコードの出力は、次の通り:
Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
例の実行 »
ダブルクォートをHTMLエンティティに変換します:
<?php
$str = 'I love "PHP".';
echo htmlspecialchars($str, ENT_QUOTES); // Converts double and single quotes
?>
上のコードのHTML出力は次の通り(ソース表示):
<!DOCTYPE html>
<html>
<body>
I love "PHP".
</body>
</html>
ブラウザへの上のコードの出力は、次の通り:
I love "PHP".
例の実行 »