与HTML实体相关的函数

htmlspecialchars函数

描述:预定义的字符转换为HTML实体

语法:string htmlspecialchars(string $string [,int $flags = ENT_COMPAT)

说明:$flags参数规定如何处理引号,其值可以为:

ENT_COMPAT 默认,仅编码双引号

ENT_QUOTES 编码双引号和单引号

ENT_NOQUOTES 不编码任何引号

$str = "A>B,B<C,Tom&John,He said: \"OK\"";

echo htmlspecialchars($str);

//通过str_replace进行转换
$str1 = str_replace('&','&amp;',$str);//必须是第一 $str2 = str_replace('>','&gt;',$str1);
$str2 = str_replace('<','&lt;',$str2);
$str2 = str_replace('"','&quot;',$str2);
$str2 = str_replace("'",''',$str2);
echo '<br>';
echo $str2;

那么htmlspecialchars($str)这个函数就是等价于下面的一组函数

至于为什么一定要先替换&,因为后面的实体都带有&,所以要先换它,避免后面把实体的&符号给换掉了。

05-28 22:54