定義和用法
htmlspecialchars()
函數把預定義的字符轉換為HTML 實體。
預定義的字符是:
- & (和號)成為&
- " (雙引號)成為"
- ' (單引號)成為'
- < (小於)成為<
- > (大於)成為>
提示:如需把特殊的HTML 實體轉換回字符,請使用htmlspecialchars_decode()
函數。
文法
htmlspecialchars ( string , flags , character - set , double_encode )
參數 |
描述 |
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 實體進行編碼。
|