两个函数在格式化带有英文字符的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);
//<a href="test.html">²âÊÔÒ³Ãæ</a>
echo htmlspecialchars($str);
//<a href="test.html">测试页面</a>
?>
分享到:
相关推荐
很多人都以为htmlentities跟htmlspecialchars的功能是一样的,都是格式化html代码的,我以前也曾这么认为,但是今天我发现并不是这样的。
主要介绍了php过滤输入操作之htmlentities与htmlspecialchars用法,结合实例形式分析了php数据过滤操作的相关函数与使用技巧,需要的朋友可以参考下
下面小编就为大家带来一篇浅谈htmlentities 、htmlspecialchars、addslashes的使用方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
在php中htmlspecialchars, 将特殊字元转成 HTML 格式,而htmlentities,将所有的字元都转成 HTML 字串 了,下面我来分别简单的介绍。 htmlentities用法 $str = "John & 'Adams'"; echo htmlentities($str, ENT_...
当然,htmlentities也会受影响,不过,对于中文站来说一般用htmlspecialchars比较常见,htmlentities非常少用到。 可能老外认为网页普遍应该是utf-8编码的,于是苦了那些用GB2312,GBK编码的中文站……! 具体表现:...
对网站发动XSS攻击的方式有很多种,仅仅使用php的一些内置过滤函数是对付不了的,即使你将filter_var,mysql_real_escape_string,htmlentities,htmlspecialchars,strip_tags这些函数都使用上了也不一定能保证绝对的...
chop执行去除空格处理,get_html_translation_table返回转化列表到变量,定义包括HTML编码的字符串htmlentities,htmlspecialchars_decode 定义包含HTML特殊字符的字符串,nl2br quotemeta rtrim等. 定义和用法:chop() ...
主要介绍了PHP里8个鲜为人知的安全函数,较为详细的分析了addslashes、htmlentities、htmlspecialchars及md5等函数在PHP程序设计安全中所起到重要作用,非常具有实用价值,需要的朋友可以参考下
get_html_translation_table()函数返回htmlentities()和htmlspecialchars()函数使用的翻译表。 提示:一些字符可以按照若干种方式进行编码。get_html_translation_table() 函数返回最普通的编码。 语法 g
PHP关于表单提交特殊字符的处理方法做个汇总,主要涉及htmlspecialchars/addslashes/stripslashes/...htmlentities() 所有字符都转成HTML格式 除上面htmlspecialchars字符外,还包括双字节字符显示成编码等。
文章中有不正确的或者说辞不清的地方,麻烦大家指出了~~~与PHP...6.htmlentities() 和html_entity_decode() 7.htmlspecialchars()和htmlspecialchars_decode() 当magic_quotes_runtime打开时,php的大部分函数自动的
最近遇到一个问题,数据中包含中文引号,结果被转义存储到数据库,取数据的时候用了htmlspecialchars_decode把实体转义回去,结果发现并没有生效,看了一下htmlspecialchars_decode只支持5个指定的实体转换,其他的...
//除去字符串左边空格 htmlspecialchars();//转换’$’,'”‘,'<‘,’>’为相应的html实体 htmlentities();//转换所有html标记为相应的html实体 array explode(string separator, string str);//分割字符串 ...
1.不转意html entities 一个基本的常识:所有不可信任的输入(特别是用户从form中提交的数据) ,输出... , >’, and “),函数htmlspecialchars 和 htmlentities()正是干这个活的。 正确的方法: echo htmlspecialc
AddSlashes: 字符串加入斜线。 bin2hex: 二进位转成十六进位。 Chop: 去除连续空白。 Chr: 返回序数值的字符。 chunk_split: 将字符串分成小段。 convert_cyr_string: ... htmlentities: 将所有的字符都
1.不转意html entities 一个基本的常识:所有不可信任的输入(特别是用户从form中提交的... , >’, and “),函数htmlspecialchars 和 htmlentities()正是干这个活的。 正确的方法: 复制代码 代码如下:echo