最族
PHP中htmlentities和htmlspecialchars的使用及区别
2016-2-27 Veris


每次去使用的时候都去查手册,我也不记得查了多少次了,顺便记录下,htmlentities和htmlspecialchars的功能都是一样的,即将预定义的字符转化为html实体。

主要作用:就是让浏览器输出html代码,不去解析该html代码了,比如说在发帖的时候,为了不让其输入的html代码生效,可以使用htmlspecialchars

两者区别:htmlentities转换所有的html标记,htmlspecialchars只格式化& ' " < 和 > 这几个特殊符号。

PHP实例:

<?php
$str = '<a href="http://www.phpddt.com">php点点通</a>';
//不指定编码,中文会乱码
echo htmlentities($str)."<br>";
echo htmlentities($str, ENT_COMPAT , "UTF-8")."<br>";
//因为html只转义预定义的几个字符,所以不用指定编码了,建议使用htmlspecialchars
echo htmlspecialchars($str);
?>


结果如下:

<a href="http://www.phpddt.com">php���</a>
<a href="http://www.phpddt.com">php点点通</a>
<a href="http://www.phpddt.com">php点点通</a>

右键查看html源码:
&lt;a href=&quot;www.phpddt.com&quot;&gt;php&ccedil;‚&sup1;&ccedil;‚&sup1;&eacute;€š&lt;/a&gt;<br>&lt;a href=&quot;www.phpddt.com&quot;&gt;php点点通&lt;/a&gt;<br>&lt;a href=&quot;www.phpddt.com&quot;&gt;php点点通&lt;/a&gt;


关于该函数的参数可以看看官方文档说明:

htmlentities :http://www.w3school.com.cn/php/func_string_htmlentities.asp

htmlspecialchars :http://www.w3school.com.cn/php/func_string_htmlspecialchars.asp



转载请注明地址: http://www.phpddt.com/php/htmlentities-htmlspecialchars.html 尊重他人劳动成果就是尊重自己!

发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容