PHP中htmlentities跟htmlspecialchars的区别
来源:互联网 发布:游戏fps显示软件 编辑:程序博客网 时间:2024/05/21 12:34
http://php.net/manual/zh/function.htmlspecialchars.php
很多人都以为htmlentities跟htmlspecialchars的功能是一样的,都是格式化html代码的,我以前也曾这么认为,但是今天我发现并不是这样的。
这两个函数在格式化带有英文字符的html代码的时候基本没啥问题,但是htmlentities对中文字符也不放过,这样得出来的结果是中文字符 部分变为一堆乱码。当时做英文站的时候根本就没觉察到这个问题,而今天公司的一个收藏站却因为有有非英文字符而出现了问题,我最终查出来是 htmlentities这个函数的问题,同时我也找到了htmlspecialchars这个函数。
对于这两个函数,php手册上都是英文做的解释,其中在htmlentities函数的说明部分有这么一段英文:
This function is identical to htmlspecialchars() in all ways, except with htmlentities(), all characters which have HTML character entity equivalents are translated into these entities.
从这句话中我们也可以看出来这两个函数虽然基本功能差不多,但是还是有细微的差别在里面的。再仔细看htmlspecialchars函数里面的一段话:
The translations performed are:
‘&’ (ampersand) becomes ‘&’
‘”‘ (double quote) becomes ‘”‘ when ENT_NOQUOTES is not set.
”’ (single quote) becomes ”’ only when ENT_QUOTES is set.
‘<’ (less than) becomes ‘<’
‘>’ (greater than) becomes ‘>’
可以了解到htmlspecialchars只转化上面这几个html代码,而htmlentities却会转化所有的html代码,连同里面的它无法识别的中文字符也给转化了。
- PHP中htmlentities跟htmlspecialchars的区别
- PHP中htmlentities跟htmlspecialchars的区别
- PHP中htmlentities跟htmlspecialchars的区别
- PHP中htmlentities跟htmlspecialchars的区别
- htmlentities跟htmlspecialchars的区别
- PHP中htmlentities和htmlspecialchars的区别
- PHP中htmlentities和htmlspecialchars的区别
- PHP中htmlentities和htmlspecialchars的区别
- PHP中htmlentities和htmlspecialchars的区别
- PHP中htmlentities和htmlspecialchars的区别
- PHP中htmlentities和htmlspecialchars函数的区别
- PHP中htmlentities()和htmlspecialchars()这两个函数的区别
- PHP中htmlentities和htmlspecialchars的使用及区别
- PHP中htmlentities和 htmlspecialchars区别
- PHP中htmlentities和 htmlspecialchars区别
- PHP htmlentities和htmlspecialchars的区别
- PHP htmlentities和htmlspecialchars的区别
- php htmlentities和htmlspecialchars 的区别
- 自定义浏览器
- 【TomoEngine】 第二讲 太空遨游(二)飞船全方位控制
- 【杭电】[1576]A/B
- 226. Invert Binary Tree
- 动态分页管理的淘汰算法
- PHP中htmlentities跟htmlspecialchars的区别
- 数学技巧类问题
- UIView上添加了一个按钮和一个单击手势的事件相应,互相不影响的处理方法。。
- 横向滑动的日历控件的实现
- 开通博客,这是我奋斗的第一步
- 网络认证
- 寒假安排
- JTable删除所有数据
- JTable动态刷新内容