关于htmlentities 、htmlspecialchars、addslashes的使用

1、html_entity_decode():把html实体转换为字符。

Eg:$str = "just atest & 'learn to use '";

echo html_entity_decode($str);

echo "<br />";

echo html_entity_decode($str,ENT_QUOTES);

echo "<br />";

echo html_entity_decode($str,ENT_NOQUOTES);

输出如下:

just a test & ‘learn to use ‘
just a test & ‘learn to use ‘
just a test & ‘learn to use ‘

2、htmlentities():把字符转换为html实体。

Eg:$str = "just a test  & ‘learn to use‘";

echo  htmlentities($str,ENT_COMPAT);

echo  "<br/>";

echo  htmlentities($str, ENT_QUOTES);

echo  "<br/>";

echo  htmlentities($str, ENT_NOQUOTES);

输出如下:

just a test & ‘learn to use‘
just a test & ‘learn to use‘
just a test & ‘learn to use‘

查看源代码如下:

just a test  &amp;  ‘learn to use‘<br />

just a test  &amp;  'learn to use'<br />

just a test  &amp;  ‘learn to use‘

3、addslashes():在指定的预定义字符前添加反斜杠

预定义字符包括:单引号(‘),双引号(“),反斜杠(\),NULL

默认情况下,PHP指令 magic_quotes_gpc 为 on,对所有的GET、POST 和COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数get_magic_quotes_gpc() 进行检测。

Eg:$str3="\  just  a   ‘   \" test";

echoaddslashes($str3);

输出:

\\ just a \‘ \" test

4、stripslashes():删除由addslashes函数添加的反斜杠

Eg:$str4="\\ just a \‘\" test";

echo  stripslashes($str4);

输出:

just a ‘ " test

5、 htmlspecialchars():把一些预定义的字符转换为html实体。

预定义字符包括:
& (和号) 成为&amp;   
 " (双引号) 成为&quot;
‘ (单引号) 成为'
< (小于) 成为&lt;
> (大于) 成为&gt;

Eg:$str5 = "just atest  & ‘learn to use‘";

echo htmlspecialchars($str5, ENT_COMPAT);

echo  "<br/>";

echo  htmlspecialchars($str5, ENT_QUOTES);

echo  "<br/>";

echo  htmlspecialchars($str5, ENT_NOQUOTES);

输出:

just a test & ‘learn to use‘
just a test & ‘learn to use‘
just a test & ‘learn to use‘

查看源代码:  just a test  &amp; ‘learn to use‘<br />
                     just a test  &amp; 'learn to use'<br />
                     just a test  &amp; ‘learn to use‘
6、 htmlspecialchars_decode():把一些预定义的html实体转换为字符。

会被解码的html实体包括:&amp; 成为 &(和号)
 &quot; 成为 " (双引号)
 ' 成为 ‘ (单引号)
 &lt; 成为 < (小于)
 &gt; 成为 > (大于)

Eg:$str6 = "just atest  &amp; 'learn to use'";

echo  htmlspecialchars_decode($str6);

echo  "<br />";

echo  htmlspecialchars_decode($str6, ENT_QUOTES);

echo  "<br />";

echo  htmlspecialchars_decode($str6, ENT_NOQUOTES);

输出:
  just a test & ‘learn to use ‘
just a test & ‘learn to use ‘
just a test & ‘learn to use ‘
查看源代码:
        just a test  & 'learn to use '<br />
        just a test  & ‘learn to use ‘<br />
        just a test  & 'learn to use '

至此,我想大家对着几个函数的基本试用应经明白了吧。

时间: 2024-10-09 22:40:38

关于htmlentities 、htmlspecialchars、addslashes的使用的相关文章

php的strip_tags,htmlspecialchars,htmlentities,stripslashes,addslashes解释

php函数蛮多的,要完整的每个函数都理解深刻是个挺有挑战性的事情. strip_tags,htmlspecialchars,htmlentities,stripslashes,addslashes这几个函数我想就需要专门的强化一下. 第一个函数:strip_tags,去掉 HTML 及 PHP 的标记 注意:本函数可去掉字串中包含的任何 HTML 及 PHP 的标记字串.若是字串的 HTML 及 PHP 标签原来就有错,例如少了大于的符号,则也会传回错误.而本函数和 fgetss() 有着相同的

htmlentities,html_entity_decode,addslashes

PHP htmlspecialchars_decode() 函数 PHP htmlspecialchars() 函数 PHP html_entity_decode() 函数 PHP中混淆的三组函数总结(htmlentities,html_entity_decode,addslashes)

php htmlentities和htmlspecialchars 的区别

很多人都以为htmlentities跟htmlspecialchars的功能是一样的,都是格式化html代码的,我以前也曾这么认为,但是今天我发现并不是这样的. The translations performed are: 复制代码 代码如下: '&' (ampersand) becomes '&' '"' (double quote) becomes '"' when ENT_NOQUOTES is not set. ''' (single quote) becom

php基础教程

提供给新手学习的 PHP 新手教程,是一个比较有价值的 PHP 新手教程! 出处:风流的 CG 网络日志 时间:Mon, 28 Aug 2006 07:24:34 +0000 作者:yufeng 地址:http:///read.php?38 一.PHP 简介 PHP 是一种易于学习和使用的服务器端脚本语言.只需要很少的编程知识你就能使用 PHP 建立一个真正交互的 WEB站点.本教程并不想让你完全了解这种语言,只是能使你尽快加 入开发动态 web 站点的行列.我假定你有一些 HTML(或者 HT

vim php tab 补全提示

在vimrc中加入下面这段,把方法名保存在一个文件中引入到字典中 set dictionary+=/home/lucifer/package/PHP_function.txt set complete-=k complete+=k function! InsertTabWrapper() let col=col('.')-1 if !col || getline('.')[col-1] !~ '\k' return "\<TAB>" else return "\&

防XXS和SQL注入

对网站发动XSS攻击的方式有很多种,仅仅使用php的一些内置过滤函数是对付不了的,即使你将filter_var,mysql_real_escape_string,htmlentities,htmlspecialchars,strip_tags这些函数都使用上了也不一定能保证绝对的安全. 那么如何预防 XSS 注入?主要还是需要在用户数据过滤方面得考虑周全,在这里不完全总结下几个 Tips 1. 假定所有的用户输入数据都是"邪恶"的 2. 弱类型的脚本语言必须保证类型和期望的一致 3.

php之道

PHP The Right Way. Tweet 欢迎 目前网络上充斥着大量的过时资讯,让 PHP 新手误入歧途,并且传播着错误的实践以及不安全的代码.PHP 之道 收集了现有的 PHP 最佳实践.编码规范和权威学习指南,方便 PHP 开发者阅读和查找 使用 PHP 沒有规范化的方式.本网站主要是向 PHP 新手介绍一些他们没有发现或者是太晚发现的主题, 或是经验丰富的专业人士已经实践已久的做法提供一些新想法.本网站也不会告诉您应该使用什么样的工具,而是提供多种选择的建议,并尽可能地说明方法及用

pfsense 2.34-P1发布

7月20日,pfsense官方发布了pfsesne2.34-p1的更新,本次更新只能在系统内更新,不提供更新固件.此次更新包括pfSense和底层软件(如OpenVPN),以及其他错误修复程序中的安全修复程序, 更新到2.3.4-p1将自动更新OpenVPN.更新后,防火墙将重新启动. 修正的其他部分如下: Security / Errata pfSense Advisories Added a warning screen to the GUI and prevent access if th

JSONP 劫持漏洞

0x01 Jsonp简介: Jsonp(JSON with Padding) 是 json 的一种"使用模式",可以让网页从别的域名(网站)那获取资料,即跨域读取数据. 为什么我们从不同的域(网站)访问数据需要一个特殊的技术(JSONP )呢?这是因为同源策略. 同源策略,它是由Netscape提出的一个著名的安全策略,现在所有支持JavaScript 的浏览器都会使用这个策略. 0x02 JSONP劫持漏洞实例 服务端getUser.php <?php header('Cont

PHP 5.4 已废弃 magic_quotes_gpc,PHP安全转义函数详解(addslashes 、htmlspecialchars、htmlentities、mysql_real_escape_string、strip_tags)

1. addslashes() addslashes()对SQL语句中的特殊字符进行转义操作,包括(‘), (“), (), (NUL)四个字符,此函数在DBMS没有自己的转义函数时候使用,但是如果DBMS有自己的转义函数,那么推荐使用原装函数,比如MySQL有mysql_real_escape_string()函数用来转义SQL. 注意在PHP5.3之前,magic_quotes_gpc是默认开启的,其主要是在$GET, $POST, $COOKIE上执行addslashes()操作,所以不需