PHP htmlspecialchars() 函式
示例
將預定義的字元 "<" (小於號) 和 ">" (大於號) 轉換為 HTML 實體
<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars($str);
?>
上述程式碼的 HTML 輸出是 (檢視原始碼)
<!DOCTYPE html>
<html>
<body>
This is some <b>bold</b> text.
</body>
</html>
上述程式碼的瀏覽器輸出是
This is some <b>bold</b> text.
自己動手試一試 »
定義和用法
htmlspecialchars() 函式將一些預定義的字元轉換為 HTML 實體。
預定義的字元是
- & (和號) 變為 &
- " (雙引號) 變為 "
- ' (單引號) 變為 '
- < (小於號) 變為 <
- > (大於號) 變為 >
提示: 要將特殊的 HTML 實體轉換回字元,請使用 htmlspecialchars_decode() 函式。
語法
htmlspecialchars(string,flags,character-set,double_encode)
引數值
引數 | 描述 |
---|---|
string | 必需。指定要轉換的字串 |
flags | 可選。規定如何處理引號、無效編碼以及使用的文件型別。 可用的引號樣式是
無效編碼
指定文件型別的附加標誌
|
字元集 | 可選。一個字串,指定要使用的字元集。 允許的值是
注意: 在 PHP 5.4 之前的版本中,無法識別的字元集將被忽略並替換為 ISO-8859-1。從 PHP 5.4 開始,它將被忽略並替換為 UTF-8。 |
double_encode | 可選。一個布林值,規定是否編碼已存在的 html 實體。
|
技術詳情
返回值 | 返回轉換後的字串 如果 string 包含無效編碼,它將返回空字串,除非設定了 ENT_IGNORE 或 ENT_SUBSTITUTE 標誌 |
---|---|
PHP 版本 | 4+ |
更新日誌 | PHP 5.6 - 將character-set引數的預設值更改為配置中的預設字元集值。 PHP 5.4 - 將character-set引數的預設值更改為UTF-8。 PHP 5.4 - 添加了 ENT_SUBSTITUTE、ENT_DISALLOWED、ENT_HTML401、ENT_HTML5、ENT_XML1 和 ENT_XHTML PHP 5.3 - 添加了 ENT_IGNORE 常量。 PHP 5.2.3 - 添加了 double_encode 引數。 PHP 4.1 - 添加了 character-set 引數。 |
更多示例
示例
將一些預定義的字元轉換為 HTML 實體
<?php
$str = "Jane & 'Tarzan'";
echo htmlspecialchars($str, ENT_COMPAT); // 只會轉換雙引號
echo "<br>";
echo htmlspecialchars($str, ENT_QUOTES); // 轉換雙引號和單引號
echo "<br>";
echo htmlspecialchars($str, ENT_NOQUOTES); // 不轉換任何引號
?>
上述程式碼的 HTML 輸出是 (檢視原始碼)
<!DOCTYPE html>
<html>
<body>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'
</body>
</html>
上述程式碼的瀏覽器輸出是
Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
自己動手試一試 »
示例
將雙引號轉換為 HTML 實體
<?php
$str = 'I love "PHP".';
echo htmlspecialchars($str, ENT_QUOTES); // 轉換雙引號和單引號
?>
上述程式碼的 HTML 輸出是 (檢視原始碼)
<!DOCTYPE html>
<html>
<body>
I love "PHP".
</body>
</html>
上述程式碼的瀏覽器輸出是
I love "PHP".
自己動手試一試 »
❮ PHP 字串參考