PHP htmlspecialchars()関数
例
事前定義された文字「<」(より小さい)および「>」(より大きい)を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()関数は、いくつかの事前定義された文字をHTMLエンティティに変換します。
事前定義された文字は次のとおりです。
- &(アンパサンド)は&amp;になります
- "(二重引用符)は&quot;になります
- '(一重引用符)は&#039;になります
- <(未満)は&lt;になります
- >(より大きい)は&gt;になります
ヒント:特殊なHTMLエンティティを文字に戻すには、htmlspecialchars_decode()関数を使用します。
構文
htmlspecialchars(string,flags,character-set,double_encode)
パラメータ値
Parameter | Description |
---|---|
string | Required. Specifies the string to convert |
flags | Optional. Specifies how to handle quotes, invalid encoding and the used document type. The available quote styles are:
Invalid encoding:
Additional flags for specifying the used doctype:
|
character-set | Optional. A string that specifies which character-set to use. Allowed values are:
Note: Unrecognized character-sets will be ignored and replaced by ISO-8859-1 in versions prior to PHP 5.4. As of PHP 5.4, it will be ignored an replaced by UTF-8. |
double_encode | Optional. A boolean value that specifies whether to encode existing html entities or not.
|
技術的な詳細
戻り値: | 変換された文字列を返します文字列 に無効なエンコーディングが含まれている場合、ENT_IGNOREまたはENT_SUBSTITUTEフラグが設定されていない限り、空の文字列が返されます |
---|---|
PHPバージョン: | 4歳以上 |
変更ログ: | PHP 5.6-文字セット
パラメータのデフォルト値を(構成内の)デフォルトの文字セットの値に変更しました。 PHP5.4-文字セットパラメータのデフォルト値をUTF-8に変更しました。 PHP 5.4-ENT_SUBSTITUTE、ENT_DISALLOWED、ENT_HTML401、ENT_HTML5、ENT_XML1、およびENT_XHTMLを 追加しました。PHP5.3-ENT_IGNORE定数を追加しました。PHP5.2.3- double_encodeパラメーターを 追加しました。PHP4.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".
❮PHP文字列リファレンス