`
webcode
  • 浏览: 5956073 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

htmlentities跟htmlspecialchars的区别

阅读更多

两个函数在格式化带有英文字符的html代码的时候基本没啥问题,但是htmlentities对中文字符也不放过,这样得出来的结果是中文字符部分变为一堆乱码。

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

$str='<a href="test.html">测试页面</a>';
echo htmlentities($str);

//&lt;a href=&quot;test.html&quot;&gt;&sup2;&acirc;&Ecirc;&Ocirc;&Ograve;&sup3;&Atilde;&aelig;&lt;/a&gt;

echo htmlspecialchars($str);

//&lt;a href=&quot;test.html&quot;&gt;测试页面&lt;/a&gt;

?>

分享到:
评论

相关推荐

    php htmlentities和htmlspecialchars 的区别

    很多人都以为htmlentities跟htmlspecialchars的功能是一样的,都是格式化html代码的,我以前也曾这么认为,但是今天我发现并不是这样的。

    php过滤输入操作之htmlentities与htmlspecialchars用法分析

    主要介绍了php过滤输入操作之htmlentities与htmlspecialchars用法,结合实例形式分析了php数据过滤操作的相关函数与使用技巧,需要的朋友可以参考下

    浅谈htmlentities 、htmlspecialchars、addslashes的使用方法

    下面小编就为大家带来一篇浅谈htmlentities 、htmlspecialchars、addslashes的使用方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    php 中htmlentities导致中文无法查询问题

    在php中htmlspecialchars, 将特殊字元转成 HTML 格式,而htmlentities,将所有的字元都转成 HTML 字串 了,下面我来分别简单的介绍。 htmlentities用法 $str = "John & 'Adams'"; echo htmlentities($str, ENT_...

    php5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总

    当然,htmlentities也会受影响,不过,对于中文站来说一般用htmlspecialchars比较常见,htmlentities非常少用到。 可能老外认为网页普遍应该是utf-8编码的,于是苦了那些用GB2312,GBK编码的中文站……! 具体表现:...

    整理php防注入和XSS攻击通用过滤

    对网站发动XSS攻击的方式有很多种,仅仅使用php的一些内置过滤函数是对付不了的,即使你将filter_var,mysql_real_escape_string,htmlentities,htmlspecialchars,strip_tags这些函数都使用上了也不一定能保证绝对的...

    php常用字符串处理函数实例分析

    chop执行去除空格处理,get_html_translation_table返回转化列表到变量,定义包括HTML编码的字符串htmlentities,htmlspecialchars_decode 定义包含HTML特殊字符的字符串,nl2br quotemeta rtrim等. 定义和用法:chop() ...

    PHP里8个鲜为人知的安全函数分析

    主要介绍了PHP里8个鲜为人知的安全函数,较为详细的分析了addslashes、htmlentities、htmlspecialchars及md5等函数在PHP程序设计安全中所起到重要作用,非常具有实用价值,需要的朋友可以参考下

    PHP get_html_translation_table()函数用法讲解

    get_html_translation_table()函数返回htmlentities()和htmlspecialchars()函数使用的翻译表。 提示:一些字符可以按照若干种方式进行编码。get_html_translation_table() 函数返回最普通的编码。 语法 g

    PHP对表单提交特殊字符的过滤和处理方法汇总

    PHP关于表单提交特殊字符的处理方法做个汇总,主要涉及htmlspecialchars/addslashes/stripslashes/...htmlentities() 所有字符都转成HTML格式 除上面htmlspecialchars字符外,还包括双字节字符显示成编码等。  

    PHP字符转义相关函数小结(php下的转义字符串)

    文章中有不正确的或者说辞不清的地方,麻烦大家指出了~~~与PHP...6.htmlentities() 和html_entity_decode() 7.htmlspecialchars()和htmlspecialchars_decode() 当magic_quotes_runtime打开时,php的大部分函数自动的

    php中html_entity_decode实现HTML实体转义

    最近遇到一个问题,数据中包含中文引号,结果被转义存储到数据库,取数据的时候用了htmlspecialchars_decode把实体转义回去,结果发现并没有生效,看了一下htmlspecialchars_decode只支持5个指定的实体转换,其他的...

    几个有用的php字符串过滤,转换函数代码

    //除去字符串左边空格 htmlspecialchars();//转换’$’,'”‘,'&lt;‘,’&gt;’为相应的html实体 htmlentities();//转换所有html标记为相应的html实体 array explode(string separator, string str);//分割字符串 ...

    php 编写安全的代码时容易犯的错误小结

    1.不转意html entities 一个基本的常识:所有不可信任的输入(特别是用户从form中提交的数据) ,输出... , &gt;’, and “),函数htmlspecialchars 和 htmlentities()正是干这个活的。 正确的方法: echo htmlspecialc

    PHP字符函数大全第1/2页

    AddSlashes: 字符串加入斜线。 bin2hex: 二进位转成十六进位。 Chop: 去除连续空白。 Chr: 返回序数值的字符。 chunk_split: 将字符串分成小段。 convert_cyr_string: ... htmlentities: 将所有的字符都

    PHP程序员编程注意事项

    1.不转意html entities 一个基本的常识:所有不可信任的输入(特别是用户从form中提交的... , &gt;’, and “),函数htmlspecialchars 和 htmlentities()正是干这个活的。 正确的方法: 复制代码 代码如下:echo 

Global site tag (gtag.js) - Google Analytics