html_entity_decode Convert all HTML entities to their applicable characters php函数


html_entity_decode

(PHP 4 >= 4.3.0, PHP 5)

html_entity_decodeConvert all HTML entities to their applicable characters

说明

string html_entity_decode ( string $string [, int $quote_style = ENT_COMPAT [, string $charset = 'UTF-8' ]] )

html_entity_decode() is the opposite of htmlentities() in that it converts all HTML entities to their applicable characters from string.

参数

string

The input string.

quote_style

The optional second quote_style parameter lets you define what will be done with 'single' and "double" quotes. It takes on one of three constants:

Available quote_style constants
Constant Name Description
ENT_COMPAT Will convert double-quotes and leave single-quotes alone.
ENT_QUOTES Will convert both double and single quotes.
ENT_NOQUOTES Will leave both double and single quotes unconverted.

charset

This defines the character set used in conversion. Using an empty string will activate automatic detection based on mbstring's internal encoding and current locale.

以下字符集设置从 PHP 4.3.0 版本开始被支持。

支持的字符集列表
字符集 别名 描述
ISO-8859-1 ISO8859-1 西欧,Latin-1
ISO-8859-15 ISO8859-15 西欧,Latin-9。增加欧元符号,法语和芬兰语字母在 Latin-1(ISO-8859-1) 中缺失。
UTF-8   ASCII 兼容的多字节 8 位 Unicode。
cp866 ibm866, 866 DOS 特有的西里尔编码。本字符集在 4.3.2 版本中得到支持。
cp1251 Windows-1251, win-1251, 1251 Windows 特有的西里尔编码。本字符集在 4.3.2 版本中得到支持。
cp1252 Windows-1252, 1252 Windows 特有的西欧编码。
KOI8-R koi8-ru, koi8r 俄语。本字符集在 4.3.2 版本中得到支持。
BIG5 950 繁体中文,主要用于中国台湾省。
GB2312 936 简体中文,中国国家标准字符集。
BIG5-HKSCS   繁体中文,附带香港扩展的 Big5 字符集。
Shift_JIS SJIS, 932 日语
EUC-JP EUCJP 日语

Note: 其他字符集没有认可。可以使用 ISO-8859-1 来替代。

返回值

Returns the decoded string.

更新日志

版本 说明
5.4.0 Default charset changed from ISO-8859-1 to UTF-8.
5.0.0 Support for multi-byte character sets was added.

范例

Example #1 Decoding HTML entities

<?php
$orig 
"I'll "walk" the <b>dog</b> now";

$a htmlentities($orig);

$b html_entity_decode($a);

echo 
$a// I'll &quot;walk&quot; the &lt;b&gt;dog&lt;/b&gt; now

echo $b// I'll "walk" the <b>dog</b> now


// For users prior to PHP 4.3.0 you may do this:
function unhtmlentities($string)
{
    
// replace numeric entities
    
$string preg_replace('~&#x([0-9a-f]+);~ei''chr(hexdec("\1"))'$string);
    
$string preg_replace('~&#([0-9]+);~e''chr("\1")'$string);
    
// replace literal entities
    
$trans_tbl get_html_translation_table(HTML_ENTITIES);
    
$trans_tbl array_flip($trans_tbl);
    return 
strtr($string$trans_tbl);
}

$c unhtmlentities($a);

echo 
$c// I'll "walk" the <b>dog</b> now

?>

注释

Note:

You might wonder why trim(html_entity_decode('&nbsp;')); doesn't reduce the string to an empty string, that's because the '&nbsp;' entity is not ASCII code 32 (which is stripped by trim()) but ASCII code 160 (0xa0) in the default ISO 8859-1 characterset.

参见

  • htmlentities() - Convert all applicable characters to HTML entities
  • htmlspecialchars() - Convert special characters to HTML entities
  • get_html_translation_table() - 返回使用 htmlspecialchars 和 htmlentities 后的转换表
  • urldecode() - 解码已编码的 URL 字符串



相关阅读:
http_build_query 生成 URL-encode 之后的请求字符串
http_response_code Get or Set the HTTP response code
hypot 计算一直角三角形的斜边长度
ibase_add_user Add a user to a security database (only for IB6 or later)
ibase_affected_rows Return the number of rows that were affected by the previous query
ibase_backup Initiates a backup task in the service manager and returns immediately
ibase_blob_add Add data into a newly created blob
ibase_blob_cancel Cancel creating blob
ibase_blob_close Close blob
ibase_blob_create Create a new blob for adding data
ibase_blob_echo Output blob contents to browser
ibase_blob_get Get len bytes data from open blob
ibase_blob_import Create blob, copy file in it, and close it
ibase_blob_info Return blob length and other useful info
快速导航

Copyright © 2016 phpStudy |