您的位置:首页 > 编程语言 > PHP开发

PHP中htmlentities和htmlspecialchars的使用及区别

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

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

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

PHP实例:

<?php

$str = '<a href="http://www.software8.co">php点点通</a>';

//不指定编码,中文会乱码

echo htmlentities($str)."<br>";

echo htmlentities($str, ENT_COMPAT , "UTF-8")."<br>";

//因为html只转义预定义的几个字符,所以不用指定编码了,建议使用htmlspecialchars

echo htmlspecialchars($str);

?>

结果如下:

<a href="http://www.software8.co">php���</a>

<a href="http://www.software8.co">php点点通</a>

<a href="http://www.software8.co">php点点通</a>

右键查看html源码:

<a href="www.software8.co">php点点通</a><br><a href="www.software8.co">php点点通</a><br><a href="www.software8.co">php点点通</a>

关于该函数的参数可以看看官方文档说明:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: