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