PHP中如何使用htmlspecialchars 字符串函數(shù),針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
htmlspecialchars - 將特殊字符轉(zhuǎn)換為 HTML 實(shí)體
語(yǔ)法:
htmlspecialchars (string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = ini_get("default_charset") [, bool $double_encode = TRUE ]]])
某類(lèi)字符在 HTML 中有特殊用處,如需保持原意,需要用 HTML 實(shí)體來(lái)表達(dá)。 本函數(shù)會(huì)返回字符轉(zhuǎn)義后的表達(dá)。 如需轉(zhuǎn)換子字符串中所有關(guān)聯(lián)的名稱(chēng)實(shí)體,使用 htmlentities() 代替本函數(shù)。如果傳入字符的字符編碼和最終的文檔是一致的,則用函數(shù)處理的輸入適合絕大多數(shù) HTML 文檔環(huán)境。 然而,如果輸入的字符編碼和最終包含字符的文檔是不一樣的, 想要保留字符(以數(shù)字或名稱(chēng)實(shí)體的形式),本函數(shù)以及 htmlentities() (僅編碼名稱(chēng)實(shí)體對(duì)應(yīng)的子字符串)可能不夠用。 這種情況可以使用 mb_encode_numericentity() 代替。
字符 | 替換后 |
---|---|
& (& 符號(hào)) | & |
" (雙引號(hào)) | ",除非設(shè)置了 ENT_NOQUOTES |
' (單引號(hào)) | 設(shè)置了 ENT_QUOTES 后, ' (如果是 ENT_HTML401) ,或者 ' (如果是 ENT_XML1、 ENT_XHTML 或 ENT_HTML5)。 |
< (小于) | < |
> (大于) | > |
參數(shù) | 必需的 | 描述 |
---|---|---|
string | 是 | 待轉(zhuǎn)換的字符串 |
flags | 否 | 以下一個(gè)或多個(gè)標(biāo)志的位掩碼,指定如何處理引號(hào)以及要使用的文檔類(lèi)型。 默認(rèn)為ENT_COMPAT | ENT_HTML401。
|
encoding | 否 | 定義轉(zhuǎn)換字符時(shí)使用的編碼的可選參數(shù)。如果省略,編碼的默認(rèn)值將根據(jù)使用的PHP版本而變化。在php 5.6及更高版本中,默認(rèn)的_charset配置選項(xiàng)用作默認(rèn)值。php 5.4和5.5將使用utf-8作為默認(rèn)值。PHP的早期版本使用ISO-8859-1。盡管此參數(shù)在技術(shù)上是可選的,但是如果您使用的是php 5.5或更早版本,或者如果您的默認(rèn)_charset配置選項(xiàng)對(duì)于給定的輸入設(shè)置不正確,則強(qiáng)烈建議您為代碼指定正確的值。本函數(shù)使用效果上,如果 string 對(duì)以下字符編碼是有效的, ISO-8859-1、 ISO-8859-15、 UTF-8、 cp866、 cp1251、 cp1252、 KOI8-R 將具有相同的效果。 也就是說(shuō),在這些編碼里, 受 htmlspecialchars() 影響的字符會(huì)占據(jù)相同的位置。 |
double_encode | 否 | 關(guān)閉 double_encode 時(shí),PHP 不會(huì)轉(zhuǎn)換現(xiàn)有的 HTML 實(shí)體, 默認(rèn)是全部轉(zhuǎn)換。 |
encoding支持的字符編碼:
字符集 | 別名 | 描述 |
---|---|---|
ISO-8859-1 | ISO8859-1 | 西歐,Latin-1 |
ISO-8859-5 | ISO8859-5 | Little used cyrillic charset (Latin/Cyrillic). |
ISO-8859-15 | ISO8859-15 | 西歐,Latin-9。增加歐元符號(hào),法語(yǔ)和芬蘭語(yǔ)字母在 Latin-1(ISO-8859-1) 中缺失。 |
UTF-8 | ASCII 兼容的多字節(jié) 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 | 俄語(yǔ)。本字符集在 4.3.2 版本中得到支持。 |
BIG5 | 950 | 繁體中文,主要用于中國(guó)臺(tái)灣省。 |
GB2312 | 936 | 簡(jiǎn)體中文,中國(guó)國(guó)家標(biāo)準(zhǔn)字符集。 |
BIG5-HKSCS | 繁體中文,附帶香港擴(kuò)展的 Big5 字符集。 | |
Shift_JIS | SJIS, 932 | 日語(yǔ) |
EUC-JP | EUCJP | 日語(yǔ) |
MacRoman | Mac OS 使用的字符串。 | |
'' | 空字符串按此順序激活腳本編碼(Zend multibyte),default_charset和當(dāng)前語(yǔ)言環(huán)境(請(qǐng)參閱nl_langinfo()和setlocale())的檢測(cè)。 不建議。 |
注意: 其他字符集沒(méi)有認(rèn)可。將會(huì)使用默認(rèn)編碼并拋出異常。
注意: 本函數(shù)不會(huì)轉(zhuǎn)換以上列表以外的實(shí)體。 完整轉(zhuǎn)換請(qǐng)參見(jiàn) htmlentities()。
注意: 如果 flags 的設(shè)置模糊易混淆,將遵循以下規(guī)則:
當(dāng) ENT_COMPAT、ENT_QUOTES、ENT_NOQUOTES 都沒(méi)設(shè)置, 默認(rèn)就是 ENT_COMPAT。
如果設(shè)置不止一個(gè) ENT_COMPAT、 ENT_QUOTES、 ENT_NOQUOTES ,優(yōu)先級(jí)最高的是 ENT_QUOTES, 其次是 ENT_COMPAT。
當(dāng) ENT_HTML401、 ENT_HTML5、 ENT_XHTML、 ENT_XML1 都沒(méi)設(shè)置,默認(rèn)是 ENT_HTML401。
如果設(shè)置不止一個(gè) ENT_HTML401、 ENT_HTML5、 ENT_XHTML、 ENT_XML1, 優(yōu)先級(jí)最高的是 ENT_HTML5 其次是 ENT_XHTML 和 ENT_HTML401。
如果設(shè)置不止一個(gè) ENT_DISALLOWED、 ENT_IGNORE、 ENT_SUBSTITUTE,優(yōu)先級(jí)最高的是 ENT_IGNORE, 其次是 ENT_SUBSTITUTE。
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES); echo $new; // <a href='test'>Test</a>
html_entity_decode() - 將HTML實(shí)體轉(zhuǎn)換為相應(yīng)的字符
get_html_translation_table() - 返回使用 htmlspecialchars 和 htmlentities 后的轉(zhuǎn)換表
htmlspecialchars_decode() - 將特殊的 HTML 實(shí)體轉(zhuǎn)換回普通字符
htmlentities() - 將字符轉(zhuǎn)換為 HTML 轉(zhuǎn)義字符
關(guān)于PHP中如何使用htmlspecialchars 字符串函數(shù)問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
分享標(biāo)題:PHP中如何使用htmlspecialchars字符串函數(shù)-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)網(wǎng)址:http://www.rwnh.cn/article16/cssgdg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、ChatGPT、關(guān)鍵詞優(yōu)化、微信小程序、自適應(yīng)網(wǎng)站、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容