複製鏈接
請複製以下鏈接發送給好友

htmlspecialchars

鎖定
htmlspecialchars() 函數把一些預定義的字符轉換為 HTML 實體。語法為:htmlspecialchars(string,quotestyle,character-set).
PHP 從 5.4.0 版本開始把htmlspecialchars() 函數的第三個參數字符串編碼的默認值改成了 UTF-8,為了使 PHP 5.4 之前環境中編寫的代碼能夠向前兼容,建議調用 htmlspecialchars 函數的的時候都提供字符串編碼參數。比如説PHP代碼中的中文編碼正好是 GB2312 編碼,那麼就得htmlspecialchars(string, quotestyle ,GB2312);
外文名
htmlspecialchars
定    義
一個函數
功    能
把html標籤轉化為字符串html
語    言
英語

htmlspecialchars術語介紹

htmlspecialchars名詞簡介

htmlspecialchars

htmlspecialchars字符

預定義的字符是:
&(和號) 成為&
" (雙引號) 成為 "
' (單引號) 成為 '
< (小於) 成為 <
> (大於) 成為 >

htmlspecialchars使用語法

htmlspecialchars(string,quotestyle,character-set)
參數
描述
string
必需。規定要轉換的字符串
quotestyle
可選。規定如何編碼單引號和雙引號。
ENT_COMPAT - 默認。僅編碼雙引號。
-
ENT_QUOTES - 編碼雙引號和單引號。
-
ENT_NOQUOTES - 不編碼任何引號。
-
character-set
可選。字符串值,規定要使用的字符集。
ISO-8859-1 - 默認。西歐。
-
ISO-8859-15 - 西歐(增加 Euro 符號以及法語、芬蘭語字母)。
-
UTF-8 - ASCII 兼容多字節 8 比特 Unicode
-
cp866 - DOS 專用 Cyrillic 字符集
-
cp1251 - Windows 專用 Cyrillic 字符集
-
cp1252 - Windows 專用西歐字符集
-
KOI8-R - 俄語
-
GB2312 - 簡體中文,國家標準字符集
-
BIG5 - 繁體中文
-
BIG5-HKSCS - Big5 香港擴展
-
Shift_JIS - 日語
-
EUC-JP - 日語
-

htmlspecialchars更多瞭解

htmlspecialchars重要性

如果不用HTMLSpecialChars,就會導致讀取時,要把" <script>"之類的HTML標籤“原本”的輸出,而這一輸出就有漏洞了,萬一那個插入數據庫的人是黑客,插入的不是一般的字符串,而是 “ <script> <b> <body>”等等之類的東西,讀取後,就是一個HTML文檔之類的東西,這樣,他可以利用這個漏洞欺騙其他人,或者借這個漏洞攻擊別人等等,搞個框架跳轉到某一網站等等操作。

htmlspecialchars提示和註釋

提示:無法被識別的字符集將被忽略,並由 ISO-8859-1 代替。

htmlspecialchars例子

<html> <body> <?php
$str = "John &
'Adams'";
echo htmlspecialchars($str, ENT_COMPAT);
echo "<br />";
echo htmlspecialchars($str, ENT_QUOTES);
echo "<br />";
echo htmlspecialchars($str, ENT_NOQUOTES);
?> </body> </html>
代碼:
<?php
$str="<p>123</p>";
echo $str."<br/>";
echo htmlspecialchars($str);
?>
結果:
123
<p>123</p>
瀏覽器輸出:
John &
'Adams' John &
'Adams' John &
'Adams'
如果在瀏覽器中查看源代碼,會看到這些 HTML:
<html> <body> John &
amp;
'Adams'<br /> John &
amp;
&
#039;
Adams&
#039;
<br /> John &
amp;
'Adams' </body> </html>