html_entity_decode()將HTML實體轉成字元原型

方倍工作室發表於2014-01-20

 

 

PHP html_entity_decode() 適用於PHP 4.3.0+,將HTML 實體轉成字元。

html_entity_decode(包含HTML 實體的字串, 可選如何解碼引號, 可選字元編碼集)

如果字串中包含無法被識別的字符集將被忽略,並由 ISO-8859-1 代替。您可以使用 PHP htmlentities() 將HTML標籤、引號及ASCII字符集外的其他字串轉換成HTML 實體。

如何解碼引號:

ENT_COMPAT – 預設。僅解碼雙引號。

ENT_QUOTES – 解碼雙引號和單引號。

ENT_NOQUOTES – 不解碼任何引號。

字元編碼集:

ISO-8859-1 – 預設。西歐。

ISO-8859-15 – 西歐 (增加 Euro 符號以及法語、芬蘭語字母)。

UTF-8 – ASCII 相容多位元組 8 位元 Unicode

cp866 – DOS 專用 Cyrillic 字符集

cp1251 – Windows 專用 Cyrillic 字符集

cp1252 – Windows 專用西歐字符集

KOI8-R – 俄語

GB2312 – 簡體中文,國家標準字符集

BIG5 – 繁體中文

BIG5-HKSCS – Big5 香港擴充套件

Shift_JIS – 日語

EUC-JP – 日語

PHP htmlspecialchars() 把 & ` ” < 和 > 轉換成HTML 實體

PHP htmlspecialchars_decode() 把 & ` ” < 和 > HTML 實體反轉成字元

PHP htmlentities() 把HTML標籤字元轉換為 HTML 實體

PHP html_entity_decode() 將所有HTML 實體轉成字元原型

PHP html_entity_decode() 例項

雖然使用PHP htmlentities() 只能對HTML標籤字串進行HTML 實體化,但是您可以使用PHP html_entity_decode() 對所有HTML 實體化的字元進行轉換成字元。

<?php
function showCode($s){return str_replace(`&`, `&amp;`, $s);}
// 由於轉成HTML實體後,輸出依舊是原字元,所以這裡對 & 替換成 &amp; 可以輸出原始碼格式,如果不用這個替換,您可以通過檢視輸出的 $html 原始碼,能夠看到一樣的結果。

$weigeti = `-->"E.V-Get.com"<--`;

$html = htmlentities($weigeti, ENT_QUOTES);

echo showCode($html);
// 輸出【--&gt;&quot;E.V-Get.com&quot;&lt;--】

$entity = html_entity_decode($html);
echo showCode($entity);
// 輸出【-->"E.V-Get.com"<--】

$entity_noquotes=html_entity_decode($html, ENT_NOQUOTES);
echo showCode($entity_noquotes);
// 輸出【-->&quot;E.V-Get.com&quot;<--】
?>

 

原文:http://e.v-get.com/w3c/PHP_html_entity_decode.html


相關文章