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

字元

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

使用語法

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文檔之類的東西,這樣,他可以利用這個漏洞欺騙其他人,或者借這個漏洞攻擊別人等等,搞個框架跳轉到某一網站等等操作。

提示和注釋

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

例子

<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>

相關詞條

熱門詞條

聯絡我們