PHP htmlentities和htmlspecialchars的区别

开发技术 作者: 2024-08-19 12:05:02
php htmlentities和htmlspecialchars都是将预定义的字符转换为HTML实体,但是这两个函数还是有区别的,本文章通过实例向大家介绍这两个函数的区别及根据不同的情况选择合适的函数,需要的朋友可以参考一下本文章。

htmlentities和htmlspecialchars的共同点:

这两个函数的共同点是他们都可以将预定义的字符转换为HTML实体,也就是不让浏览器去解析运行HTML代码,而是原样输出代码。

htmlentities和htmlspecialchars不同之处

1、htmlentities将所有html标签转换为HTML实体,而htmlspecialchars只是将& ' " < 和 > 这几个特殊符号转换为HTML实体。

2、当被转换的字符串中有中文时,如果htmlentities不指定编码,则会出现乱码,而htmlspecialchars不会出现中文乱码。

请看下面实例:

$str = '';

echo htmlentities($str).'
';//没有指定编码,会出现中文乱码

echo htmlentities($str,ENT_COMPAT,"UTF-8")."
";//指定了UTF-8编码,不会出现中文乱码

echo htmlspecialchars($str);

?>

在浏览器上输出如下结果:

查看源码如下:

&lt;a href=&quot;http://www.manongjc.com&quot;&gt;&ccedil;&nbsp;&aring;†œ&aelig;•™&ccedil;&uml;‹&lt;/a&gt;
&lt;a href=&quot;http://www.manongjc.com&quot;&gt;码农教程&lt;/a&gt;
&lt;a href=&quot;http://www.manongjc.com&quot;&gt;码农教程&lt;/a&gt;

原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_64927.html