本文實(shí)例講述了php過濾htmlspecialchars() 函數(shù)實(shí)現(xiàn)把預(yù)定義的字符轉(zhuǎn)換為 HTML 實(shí)體用法。分享給大家供大家參考,具體如下:
這個(gè)函數(shù)非常重要,特別是在處理中文字符時(shí),同時(shí)開發(fā)過程中往往需對(duì)寫入數(shù)據(jù)庫或讀取數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行處理。
htmlspecialchars(string,flags,character-set,double_encode)
1、string:必需。規(guī)定要轉(zhuǎn)換的字符串。
2、flags:可選,規(guī)定如何處理引號(hào)、無效的編碼以及使用哪種文檔類型,如ENT_COMPAT、ENT_QUOTES、ENT_NOQUOTES
3、character-set:可選,顧名思義字符集,默認(rèn)utf-8,當(dāng)然支持很多編碼,這里不列舉
4、double_encode:可選,一個(gè)規(guī)定了是否編碼已存在的 HTML 實(shí)體的布爾值。
預(yù)定義的字符是:
1、 (和號(hào))成為
2、” (雙引號(hào))成為 ”
3、' (單引號(hào))成為 ‘
4、 (小于)成為 > (大于)成為 >
那么什么是HTML實(shí)體?
1、 在 HTML 中,某些字符是預(yù)留的。
2、在 HTML 中不能使用小于號(hào)()和大于號(hào)(>),這是因?yàn)闉g覽器會(huì)誤認(rèn)為它們是標(biāo)簽,當(dāng)然在HTML中還有其他實(shí)體
3、如果希望正確地顯示預(yù)留字符,我們必須在HTML源代碼中使用字符實(shí)體(character entities)。
4、如需顯示小于號(hào),我們必須這樣寫: 或 使用實(shí)體名而不是數(shù)字的好處是,名稱易于記憶。不過壞處是,瀏覽器也許并不支持所有實(shí)體名稱(對(duì)實(shí)體數(shù)字的支持卻很好)。
示例:
?php
$str = "Apple 'Orange'";
echo htmlspecialchars($str, ENT_COMPAT); // 默認(rèn),僅編碼雙引號(hào)
//在右鍵查看源代碼下結(jié)果為:Apple 'Orange'
echo htmlspecialchars($str, ENT_QUOTES); // 編碼雙引號(hào)和單引號(hào)
//在右鍵查看源代碼下結(jié)果為:Apple 'Orange'
echo htmlspecialchars($str, ENT_NOQUOTES); // 不編碼任何引號(hào)
//在右鍵查看源代碼下結(jié)果為:Apple 'Orange'
//擴(kuò)展閱讀htmlspecialchars_decode() — 將特殊的 HTML 實(shí)體轉(zhuǎn)換回普通字符
?>
補(bǔ)充:htmlspecialchars_decode() — 將特殊的 HTML 實(shí)體轉(zhuǎn)換回普通字符
htmlspecialchars_decode()
函數(shù)把一些預(yù)定義的 HTML 實(shí)體轉(zhuǎn)換為字符。
被解碼的 HTML 實(shí)體:
解碼成 (和號(hào))
quot; 解碼成 " (雙引號(hào))
' 解碼成 ' (單引號(hào))
lt; 解碼成 (小于)
gt; 解碼成 > (大于)
示例:
?php
$str = "This is some lt;bgt;boldlt;/bgt; text.";
echo htmlspecialchars_decode($str);
?>
輸出:
This is some b>bold/b> text..
PS:這里再為大家推薦幾款相關(guān)在線工具供大家參考使用:
HTML/XML轉(zhuǎn)義字符對(duì)照表:
http://tools.jb51.net/table/html_escape
在線HTML轉(zhuǎn)義/反轉(zhuǎn)義工具:
http://tools.jb51.net/transcoding/html_transcode
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php常用函數(shù)與技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- php框架CI(codeigniter)自動(dòng)加載與自主創(chuàng)建對(duì)象操作實(shí)例分析
- 關(guān)于PHP5.6+版本“No input file specified”問題的解決
- 為Plesk PHP7啟用Oracle OCI8擴(kuò)展方法總結(jié)
- nginx+php出現(xiàn)No input file specified解決辦法
- PHP htmlspecialchars()函數(shù)用法與實(shí)例講解
- PHP htmlspecialchars_decode()函數(shù)用法講解
- PHP htmlspecialchars() 函數(shù)實(shí)例代碼及用法大全
- PHP之CI框架學(xué)習(xí)講解