例
轉換所述預定義字符"<" (less than)和">" (greater than)為HTML實體:
<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars($str);
?>
代碼的HTML輸出將是(View Source) :
<!DOCTYPE html>
<html>
<body>
This is some <b>bold</b> text.
</body>
</html>
代碼的瀏覽器輸出將是:
This is some <b>bold</b> text.
運行示例» 定義和用法
該htmlspecialchars()函數一些預定義的字符轉換為HTML實體。
這些預定義字符是:
- & (ampersand)變成&安培;
- “ (double quote)變成&QUOT;
- ' (single quote)變成&#039;
- < (less than)變成&LT;
- > (greater than)變成&GT;
提示:要特殊的HTML實體轉換回字符,請使用htmlspecialchars_decode()函數。
句法
htmlspecialchars( string,flags,character-set,double_encode )
參數 | 描述 |
---|---|
string | 需要。 指定要轉換的字符串 |
flags | 可選的。 指定如何處理引號的,無效的編碼和使用的文件類型。 可用報價樣式:
無效編碼:
用於指定所使用的文檔類型附加標誌:
|
character-set | 可選的。 指定哪些字符集使用的字符串。 允許的值是:
Note:無法識別的字符集將被忽略,並且在之前的PHP 5.4版本的ISO-8859-1代替。 作為PHP 5.4的,它將由UTF-8的取代被忽略。 |
double_encode | 可選的。 一個布爾值,指定編碼現有的HTML實體與否。
|
技術細節
返回值: | 返回轉換後的字符串 如果字符串包含無效的編碼,它會返回一個空字符串,除非是ENT_IGNORE或ENT_SUBSTITUTE標誌設置 |
---|---|
PHP版本: | 4+ |
更新日誌: | 為字符集參數的默認值被改變為UTF-8在PHP 5 ENT_SUBSTITUTE,ENT_DISALLOWED,ENT_HTML401,ENT_HTML5,ENT_XML1和ENT_XHTML在PHP 5.4中添加 ENT_IGNORE在PHP 5.3中添加 在PHP 5.2.3中加入的double_encode參數 在PHP 4.1中添加的字符集參數 |
更多示例
實施例1
將一些預定義的字符為HTML實體:
<?php
$str = "Jane & 'Tarzan'";
echo htmlspecialchars($str, ENT_COMPAT); // Will only convert double quotes
echo "<br>";
echo htmlspecialchars($str, ENT_QUOTES); // Converts double and single quotes
echo "<br>";
echo htmlspecialchars($str, ENT_NOQUOTES); // Does not convert any quotes
?>
代碼的HTML輸出將是(View Source) :
<!DOCTYPE html>
<html>
<body>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'
</body>
</html>
代碼的瀏覽器輸出將是:
Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
運行示例» 實施例2
轉換雙引號HTML實體:
<?php
$str = 'I love "PHP" .';
echo htmlspecialchars($str, ENT_QUOTES);
// Converts double and single quotes
?>
代碼的HTML輸出將是(View Source) :
<!DOCTYPE html>
<html>
<body>
I love "PHP".
</body>
</html>
代碼的瀏覽器輸出將是:
I love "PHP" .
運行示例» <PHP字符串參考