字串函式 htmlentities ()

eternal_strong發表於2020-05-13

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

htmlentities($string, flags ,character-set, double_encode) : string

如果要解碼(反向操作),可以使用 html_entity_decode()

引數 描述
string 必需。規定要轉換的字串。
flags 可選。規定如何處理引號、無效的編碼以及使用哪種文件型別。
可用的引號型別:
ENT_COMPAT - 預設。僅編碼雙引號。
ENT_QUOTES - 編碼雙引號和單引號。
ENT_NOQUOTES - 不編碼任何引號。
無效的編碼:
ENT_IGNORE - 忽略無效的編碼,而不是讓函式返回一個空的字串。應儘量避免,因為這可能對安全性有影響。
ENT_SUBSTITUTE - 把無效的編碼替代成一個指定的帶有 Unicode 替代字元 U+FFFD(UTF-8)或者 FFFD; 的字元,而不是返回一個空的字串。
ENT_DISALLOWED - 把指定文件型別中的無效程式碼點替代成 Unicode 替代字元 U+FFFD(UTF-8)或者 FFFD;。
規定使用的文件型別的附加 flags:
ENT_HTML401 - 預設。作為 HTML 4.01 處理程式碼。
ENT_HTML5 - 作為 HTML 5 處理程式碼。
ENT_XML1 - 作為 XML 1 處理程式碼。
ENT_XHTML - 作為 XHTML 處理程式碼。
character-set 可選。一個規定了要使用的字符集的字串。
允許的值:
UTF-8 - 預設。ASCII 相容多位元組的 8 位 Unicode
ISO-8859-1 - 西歐
ISO-8859-15 - 西歐(加入歐元符號 + ISO-8859-1 中丟失的法語和芬蘭語字母)
cp866 - DOS 專用 Cyrillic 字符集
cp1251 - Windows 專用 Cyrillic 字符集
cp1252 - Windows 專用西歐字符集
KOI8-R - 俄語
BIG5 - 繁體中文,主要在臺灣使用
GB2312 - 簡體中文,國家標準字符集
BIG5-HKSCS - 帶香港擴充套件的 Big5
Shift_JIS - 日語
EUC-JP - 日語
MacRoman - Mac 作業系統使用的字符集
註釋:在 PHP 5.4 之前的版本,無法被識別的字符集將被忽略並由 ISO-8859-1 替代。自 PHP 5.4 起,無法被識別的字符集將被忽略並由 UTF-8 替代。
double_encode 可選。布林值,規定是否編碼已存在的 HTML 實體。
TRUE - 預設。將對每個實體進行轉換。
FALSE - 不會對已存在的 HTML 實體進行編碼。

返回值:
返回編碼後的字元。

如果指定的編碼 character-set 裡, string 包含了無效的程式碼單元序列, 沒有設定 ENT_IGNORE 或者 ENT_SUBSTITUTE 標記的情況下,會返回空字串。

$str = "A 'quote' is <b>bold</b>";

// 輸出: A 'quote' is &lt;b&gt;bold&lt;/b&gt;
$str1 = htmlentities($str);
echo $str1;

// 輸出: A &#039;quote&#039; is &lt;b&gt;bold&lt;/b&gt;
$str2 = htmlentities($str, ENT_QUOTES);
echo $str2;

// 輸出: A 'quote' is <b>bold</b>
$str3 = html_entity_decode($str2,ENT_QUOTES);
echo $str3;
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章