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


Posted in PHP onDecember 09, 2016

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 & 'learn to use'<br />

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

just a test & '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实体。

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

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 & 'learn to use'<br />
just a test & 'learn to use'<br />
just a test & 'learn to use'

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

会被解码的html实体包括:& 成为 &(和号)

 " 成为 " (双引号)
 ' 成为 ' (单引号)
 < 成为 < (小于)
 > 成为 > (大于)

Eg:$str6 = "just atest & '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 '

防注入防web脚本综合使用:

$str= htmlspecialchars(addslashes($str));

$str= htmlspecialchars_decode(stripslashes($str));

以上这篇浅谈htmlentities 、htmlspecialchars、addslashes的使用方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP5在Apache下的两种模式的安装
Sep 05 PHP
用PHP控制用户的浏览器--ob*函数的使用说明
Mar 16 PHP
关于页面优化和伪静态
Oct 11 PHP
php 代码优化之经典示例
Mar 24 PHP
二招解决php乱码问题
Mar 25 PHP
用PHP编写和读取XML的几种方式
Jan 12 PHP
php中apc缓存使用示例
Dec 25 PHP
PHP中实现接收多个name相同但Value不相同表单数据实例
Feb 03 PHP
Joomla简单判断用户是否登录的方法
May 04 PHP
thinkphp3.x中变量的获取和过滤方法详解
May 20 PHP
PHP 布尔值的自增与自减的实现方法
May 03 PHP
PHP7 整型处理机制修改
Mar 09 PHP
浅谈PHP的数据库接口和技术
Dec 09 #PHP
magento后台无法登录解决办法的两种方法
Dec 09 #PHP
Zend Framework常用校验器详解
Dec 09 #PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
Dec 08 #PHP
Zend Framework入门教程之Zend_Session会话操作详解
Dec 08 #PHP
Zend Framework入门教程之Zend_Mail用法示例
Dec 08 #PHP
Zend Framework入门教程之Zend_Db数据库操作详解
Dec 08 #PHP
You might like
深入php多态的实现详解
2013/06/09 PHP
php实现改变图片直接打开为下载的方法
2015/04/14 PHP
PHP统计当前在线用户数实例讲解
2015/10/21 PHP
js验证表单第二部分
2006/11/25 Javascript
JS的replace方法介绍
2012/10/20 Javascript
js实现同一个页面多个渐变效果的方法
2015/04/10 Javascript
js实现拉幕效果的广告代码
2015/09/02 Javascript
Boostrap基础教程之JavaScript插件篇
2016/09/08 Javascript
JavaScript实现水平进度条拖拽效果
2017/01/18 Javascript
使用Xcache缓存器加速PHP网站的配置方法
2017/04/22 Javascript
JS仿QQ好友列表展开、收缩功能(第一篇)
2017/07/07 Javascript
微信小程序实现锚点跳转
2020/11/23 Javascript
[48:28]完美世界DOTA2联赛循环赛FTD vs Magma第二场 10月30日
2020/10/31 DOTA
在Python的Flask框架中实现全文搜索功能
2015/04/20 Python
如何处理Python3.4 使用pymssql 乱码问题
2016/01/08 Python
使用python生成目录树
2018/03/29 Python
python写入已存在的excel数据实例
2018/05/03 Python
Python 编码规范(Google Python Style Guide)
2018/05/05 Python
django框架自定义用户表操作示例
2018/08/07 Python
python3正则提取字符串里的中文实例
2019/01/31 Python
Python3 max()函数基础用法
2019/02/19 Python
Python 音频生成器的实现示例
2019/12/24 Python
Python迷宫生成和迷宫破解算法实例
2019/12/24 Python
在pytorch中实现只让指定变量向后传播梯度
2020/02/29 Python
python使用列表的最佳方案
2020/08/12 Python
Notino瑞典:购买香水和美容产品
2019/07/26 全球购物
学生实习推荐信范文
2013/11/26 职场文书
新闻学专业大学生职业生涯规划范文
2014/03/02 职场文书
计生工作先进事迹
2014/08/15 职场文书
离职证明标准格式
2014/09/15 职场文书
我的法兰西岁月观后感
2015/06/09 职场文书
安全教育观后感
2015/06/17 职场文书
同学会演讲稿
2019/04/02 职场文书
Python趣味实战之手把手教你实现举牌小人生成器
2021/06/07 Python
动画电影《龙珠超 超级英雄》延期上映
2022/03/20 日漫
Windows server 2012搭建FTP服务器
2022/04/29 Servers