php過(guò)濾htmlspecialchars() 函數(shù)實(shí)現(xiàn)把預(yù)定義的字符轉(zhuǎn)換為 HTML 實(shí)體用法分析
本文實(shí)例講述了php過(guò)濾htmlspecialchars() 函數(shù)實(shí)現(xiàn)把預(yù)定義的字符轉(zhuǎn)換為 HTML 實(shí)體用法。分享給大家供大家參考,具體如下:
這個(gè)函數(shù)非常重要,特別是在處理中文字符時(shí),同時(shí)開(kāi)發(fā)過(guò)程中往往需對(duì)寫(xiě)入數(shù)據(jù)庫(kù)或讀取數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行處理。
htmlspecialchars(string,flags,character-set,double_encode)
1、string:必需。規(guī)定要轉(zhuǎn)換的字符串。
2、flags:可選,規(guī)定如何處理引號(hào)、無(wú)效的編碼以及使用哪種文檔類型,如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),我們必須這樣寫(xiě):< 或 <使用實(shí)體名而不是數(shù)字的好處是,名稱易于記憶。不過(guò)壞處是,瀏覽器也許并不支持所有實(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))
" 解碼成 " (雙引號(hào))
' 解碼成 ' (單引號(hào))
< 解碼成 < (小于)
> 解碼成 > (大于)
示例:
<?php $str = "This is some <b>bold</b> 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基本語(yǔ)法入門(mén)教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- php框架CI(codeigniter)自動(dòng)加載與自主創(chuàng)建對(duì)象操作實(shí)例分析
- 關(guān)于PHP5.6+版本“No input file specified”問(wèn)題的解決
- 為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í)講解
相關(guān)文章
PHP之a(chǎn)utoload運(yùn)行機(jī)制實(shí)例分析
這篇文章主要介紹了PHP的autoload運(yùn)行機(jī)制分析,從PHP源碼及應(yīng)用的角度對(duì)autoload進(jìn)行了較為深入的分析,需要的朋友可以參考下2014-08-08PHP把空格、換行符、中文逗號(hào)等替換成英文逗號(hào)的正則表達(dá)式
這篇文章主要介紹了PHP把空格、換行符、中文逗號(hào)等替換成英文逗號(hào)的正則表達(dá)式,需要的朋友可以參考下2014-05-05php新建文件自動(dòng)編號(hào)的思路與實(shí)現(xiàn)
在系統(tǒng)中 在新建文件是可以實(shí)現(xiàn)自動(dòng)編號(hào)。比如新建文本文件 默認(rèn)文件名是:新建 文本文檔.txt,如果繼續(xù)新建時(shí)文件名自動(dòng)變了:新建 文本文檔 (2).txt, 以后就是 3,4,5….請(qǐng)問(wèn)這種算法用PHP怎么實(shí)現(xiàn)。2011-06-06php正則表達(dá)式(regar expression)
在編寫(xiě)處理字符串的程序或網(wǎng)頁(yè)時(shí),經(jīng)常會(huì)有查找符合某些復(fù)雜規(guī)則的字符串的需要。正則表達(dá)式就是用于描述這些規(guī)則的語(yǔ)法。2011-09-09