浅谈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 相关文章推荐
PHP 存取 MySQL 数据库的一个例子
Oct 09 PHP
PHP中的日期处理方法集锦
Jan 02 PHP
centos 5.6 升级php到5.3的方法
May 14 PHP
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
Nov 26 PHP
PHP基础知识介绍
Sep 17 PHP
用 Composer构建自己的 PHP 框架之设计 MVC
Oct 30 PHP
PDO预处理语句PDOStatement对象使用总结
Nov 20 PHP
PHP中Closure类的使用方法及详解
Oct 09 PHP
PHP上传文件参考配置大文件上传
Dec 16 PHP
Zend Framework校验器Zend_Validate用法详解
Dec 09 PHP
利用Homestead快速运行一个Laravel项目的方法详解
Nov 14 PHP
PHP中的empty、isset、isnull的区别与使用实例
Mar 22 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 daddslashes()和 saddslashes()有哪些区别分析
2012/10/26 PHP
如何正确配置Nginx + PHP
2016/07/15 PHP
php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】
2016/11/10 PHP
PHP遍历目录文件的常用方法小结
2017/02/03 PHP
thinkPHP通用控制器实现方法示例
2017/11/23 PHP
使用PHP开发留言板功能
2019/11/19 PHP
js获得指定控件输入光标的坐标兼容IE,Chrome,火狐等多种主流浏览器
2013/05/21 Javascript
jquery监听div内容的变化具体实现思路
2013/11/04 Javascript
关于jQuery中的each方法(jQuery到底干了什么)
2014/03/05 Javascript
Node.js文件操作详解
2014/08/16 Javascript
jQuery实现三级菜单的代码
2016/05/09 Javascript
在DWR中实现直接获取一个JAVA类的返回值的两种方法
2016/12/25 Javascript
AngularJs 常用的过滤器
2017/05/15 Javascript
VueJS组件之间通过props交互及验证的方式
2017/09/04 Javascript
AngularJS 仿微信图片手势缩放的实例
2017/09/28 Javascript
React为 Vue 引入容器组件和展示组件的教程详解
2018/05/03 Javascript
JavaScript惰性载入函数实例分析
2019/03/27 Javascript
vue+elementui 对话框取消 表单验证重置示例
2019/10/29 Javascript
js实现图片粘贴到网页
2019/12/06 Javascript
Node.js API详解之 console模块用法详解
2020/05/12 Javascript
[02:12]2019完美世界全国高校联赛(春季赛)报名开启
2019/03/01 DOTA
Python通过解析网页实现看报程序的方法
2014/08/04 Python
Python IDLE清空窗口的实例
2018/06/25 Python
Python常见内置高效率函数用法示例
2018/07/31 Python
python机器学习之神经网络实现
2018/10/13 Python
uwsgi+nginx部署Django项目操作示例
2018/12/04 Python
Pycharm 安装 idea VIM插件的图文教程详解
2020/02/21 Python
浅析python表达式4+0.5值的数据类型
2020/02/26 Python
pandas数据处理之绘图的实现
2020/06/15 Python
中国跨镜手机配件批发在线商店:TVC-Mall
2019/08/20 全球购物
应届毕业生简历自我评价
2014/01/31 职场文书
公司自我介绍演讲稿
2014/08/21 职场文书
学生会感恩节活动方案
2014/10/11 职场文书
2015年计划生育协会工作总结
2015/05/13 职场文书
vue实现可以快进后退的跑马灯组件
2022/04/08 Vue.js
Ubuntu安装Mysql+启用远程连接的完整过程
2022/06/21 Servers