PHP html_entity_decode() 関数
例
HTML エンティティを文字に変換します:
<?php $str = "<© W3Sçh°°¦§>"; echo html_entity_decode($str); ?>
以下のコードの HTML 出力は以下の通りです(ソースコードを確認してください):
<!DOCTYPE html> <html> <body> <? W3S?h????> </body> </html>
以下のコードのブラウザ出力:
<? W3S?h????>
文法
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 |
追加でドキュメントの種類に適用される翻訳テーブルを指定するフラグが追加されました:
|
PHP 5.3.4 | 追加了对多字节编码的支持。 |
更多实例
例 1
HTML エンティティを文字に変換します:
<?php $str = "Bill & 'Steve'"; echo html_entity_decode($str, ENT_COMPAT); // 只转换双引号 echo "<br>"; echo html_entity_decode($str, ENT_QUOTES); // 转换双引号和单引号 echo "<br>"; echo html_entity_decode($str, ENT_NOQUOTES); // 任何引号都不转换 ?>
以下のコードの HTML 出力(ソースコードを確認):
<!DOCTYPE html> <html> <body> Bill & 'Steve'<br> Bill & 'Steve'<br> Bill & 'Steve' </body> </html>
以下のコードのブラウザ出力:
Bill & 'Steve' Bill & 'Steve' Bill & 'Steve'
例 2
西欧の文字セットを使用して、HTML エンティティを文字に変換します:
<?php $str = "My name is Øyvind Øsane. I'm Norwegian."; echo html_entity_decode($str, ENT_QUOTES, "ISO-8859-1"); ?>
以下のコードの HTML 出力(ソースコードを確認):
<!DOCTYPE html> <html> <body> 私の名前は Øyvind Øsane です。ノルウェー人です。 </body> </html>
以下のコードのブラウザ出力:
私の名前は Øyvind Øsane です。ノルウェー人です。