PHP html_entity_decode()関数
例
HTML エンティティを文字に変換する:
<?php
$str = "<© W3CSçh°°¦§>";
echo html_entity_decode($str);
?>
$str = "<© W3CSçh°°¦§>";
echo html_entity_decode($str);
?>
上記のコードの HTML 出力は次のとおりです(ソースコードを表示):
<!DOCTYPE html>
<html>
<body>
<© W3CSçh°°¦§>
</body>
</html>
<html>
<body>
<© W3CSçh°°¦§>
</body>
</html>
上記のコードのブラウザ出力は次のとおりです:
<© W3CSçh°°¦§>
定義と使用法
html_entity_decode() 関数は HTML エンティティを文字に変換します。
html_entity_decode() 関数はhtmlentities()関数の逆関数です。
構文
html_entity_decode(string,flags,character-set)
| パラメータ | 説明 |
|---|---|
| string | 必須。デコードする文字列を指定します。 |
| flags | オプション。引用符の処理方法と使用するドキュメントタイプを指定します。 使用可能な引用符のタイプ:
使用するドキュメントタイプを指定する追加のフラグ:
|
| character-set | オプション。使用する文字セットを指定する文字列です。 許可される値:
注釈:PHP 5.4 より前のバージョンでは、認識できない文字セットは無視され、ISO-8859-1 に置き換えられました。PHP 5.4 以降では、認識できない文字セットは無視され、UTF-8 に置き換えられます。 |
技術的な詳細
| 戻り値: | 変換された文字列を返します。 |
|---|---|
| PHP バージョン: | 4.3.0+ |
| 更新ログ: | PHP 5 では、character-setパラメータのデフォルト値が UTF-8 に変更されました。 PHP 5.4 では、使用するドキュメントタイプを指定するための追加フラグ ENT_HTML401、ENT_HTML5、ENT_XML1、ENT_XHTML が追加されました。 PHP 5.0 では、マルチバイトエンコーディングのサポートが追加されました。 |
その他の例
例 1
いくつかの HTML エンティティを文字に変換する:
<?php
$str = "Jane & 'Tarzan'";
echo html_entity_decode($str, ENT_COMPAT); // Will only convert double quotes
echo "<br>";
echo html_entity_decode($str, ENT_QUOTES); // Converts double and single quotes
echo "<br>";
echo html_entity_decode($str, ENT_NOQUOTES); // Does not convert any quotes
?>
$str = "Jane & 'Tarzan'";
echo html_entity_decode($str, ENT_COMPAT); // Will only convert double quotes
echo "<br>";
echo html_entity_decode($str, ENT_QUOTES); // Converts double and single quotes
echo "<br>";
echo html_entity_decode($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 html_entity_decode($str, ENT_QUOTES, "ISO-8859-1");
?>
$str = "My name is Øyvind Åsane. I'm Norwegian.";
echo html_entity_decode($str, ENT_QUOTES, "ISO-8859-1");
?>
The HTML output of the code above will be (View Source):
<!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 リファレンスマニュアル その他の拡張機能