例
转换所述预定义字符"<" (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字符串参考