PHP htmlentities()関数
例
いくつかの文字を HTML エンティティに変換します:
<?php
$str = "<© W3CSçh°°¦§>";
echo htmlentities($str);
?>
$str = "<© W3CSçh°°¦§>";
echo htmlentities($str);
?>
上記コードの HTML 出力は次のとおりです(ソースコードを表示):
<!DOCTYPE html>
<html>
<body>
<© W3CSçh°°¦§>
</body>
</html>
<html>
<body>
<© W3CSçh°°¦§>
</body>
</html>
上記コードのブラウザ出力は次のとおりです:
<© W3CSçh°°¦§>
サンプルを実行 »
定義と使用法
htmlentities() 関数は文字を HTML エンティティに変換します。
ヒント:HTML エンティティを文字に戻すには、次の関数を使用します。html_entity_decode()関数。
ヒント:次の関数を使用して、 get_html_translation_table()htmlentities() で使用される変換テーブルを返します。
構文
htmlentities(string,flags,character-set,double_encode)
| パラメータ | 説明 |
|---|---|
| string | 必須。変換する文字列を指定します。 |
| flags | 省略可能。引用符、無効なエンコーディングの処理方法、および使用するドキュメントタイプを指定します。 使用可能な引用符のタイプ:
無効なエンコーディング:
使用するドキュメントタイプを指定する追加のフラグ:
|
| character-set | 省略可能。使用する文字セットを指定する文字列。 許可される値:
注釈:PHP 5.4 より前のバージョンでは、認識できない文字セットは無視され、ISO-8859-1 に置き換えられます。PHP 5.4 以降では、認識できない文字セットは無視され、UTF-8 に置き換えられます。 |
| double_encode | 省略可能。既存の HTML エンティティをエンコードするかどうかを指定するブール値。
|
技術詳細
| 戻り値: | 変換された文字列を返します。 もしstring無効なエンコーディングが含まれている場合は、ENT_IGNORE または ENT_SUBSTITUTE フラグが設定されていない限り、空の文字列を返します。 |
|---|---|
| PHP バージョン: | 4+ |
| 更新履歴: | PHP 5 では、character-setパラメータのデフォルト値が UTF-8 に変更されました。 PHP 5.4 では、ENT_SUBSTITUTE、ENT_DISALLOWED、ENT_HTML401、ENT_HTML5、ENT_XML1、ENT_XHTML が追加されました。 PHP 5.3 では、ENT_IGNORE が追加されました。 PHP 5.2.3 では、次のパラメータが追加されました。double_encodeパラメータ。 PHP 4.1 では、次のパラメータが追加されました。character-setパラメータ。 |
その他の例
例 1
いくつかの文字を HTML エンティティに変換します:
<?php
$str = "Jane & 'Tarzan'";
echo htmlentities($str, ENT_COMPAT); // Will only convert double quotes
echo "<br>";
echo htmlentities($str, ENT_QUOTES); // Converts double and single quotes
echo "<br>";
echo htmlentities($str, ENT_NOQUOTES); // Does not convert any quotes
?>
$str = "Jane & 'Tarzan'";
echo htmlentities($str, ENT_COMPAT); // Will only convert double quotes
echo "<br>";
echo htmlentities($str, ENT_QUOTES); // Converts double and single quotes
echo "<br>";
echo htmlentities($str, ENT_NOQUOTES); // Does not convert any quotes
?>
上記コードの HTML 出力は次のとおりです(ソースコードを表示):
<!DOCTYPE html>
<html>
<body>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'
</body>
</html>
<html>
<body>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'
</body>
</html>
上記コードのブラウザ出力は次のとおりです:
Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
サンプルを実行 »
例 2
西ヨーロッパの文字セットを使用して、いくつかの文字を HTML エンティティに変換します:
<?php
$str = "My name is Øyvind Åsane. I'm Norwegian.";
echo htmlentities($str, ENT_QUOTES, "ISO-8859-1"); // Will only convert double quotes (not single quotes), and uses the character-set Western European
?>
$str = "My name is Øyvind Åsane. I'm Norwegian.";
echo htmlentities($str, ENT_QUOTES, "ISO-8859-1"); // Will only convert double quotes (not single quotes), and uses the character-set Western European
?>
上記コードの HTML 出力は次のとおりです(ソースコードを表示):
<!DOCTYPE html>
<html>
<body>
My name is Øyvind Åsane. I'm Norwegian.
</body>
</html>
<html>
<body>
My name is Øyvind Åsane. I'm Norwegian.
</body>
</html>
上記コードのブラウザ出力は次のとおりです:
My name is Øyvind Åsane. I'm Norwegian.
サンプルを実行 »
PHP String リファレンスマニュアル その他の拡張