浅谈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 魔术函数使用说明
Feb 21 PHP
PHP遍历二维数组的代码
Apr 22 PHP
php ckeditor上传图片文件名乱码解决方法
Nov 15 PHP
php从字符串创建函数的方法
Mar 16 PHP
PHP+Mysql+jQuery文件下载次数统计实例讲解
Oct 10 PHP
Smarty保留变量用法分析
May 23 PHP
PHP实现支持加盐的图片加密解密
Sep 09 PHP
PHP7.1实现的AES与RSA加密操作示例
Jun 15 PHP
laravel实现查询最后执行的一条sql语句的方法
Oct 09 PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
Oct 21 PHP
PDO实现学生管理系统
Mar 21 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将任何格式视频转为flv的代码
2009/09/03 PHP
php数组索引的Key加引号和不加引号的区别
2014/08/19 PHP
php中try catch捕获异常实例详解
2014/11/21 PHP
详解php比较操作符的安全问题
2015/12/03 PHP
PHP实现长文章分页实例代码(附源码)
2016/02/03 PHP
jquery ui dialog实现弹窗特效的思路及代码
2013/08/03 Javascript
使用js修改客户端注册表的方法
2013/08/09 Javascript
Backbone.js中的集合详解
2015/01/14 Javascript
JavaScript去除数组里重复值的方法
2015/07/13 Javascript
jquery性能优化高级技巧
2015/08/24 Javascript
js实现简洁的滑动门菜单(选项卡)效果代码
2015/09/04 Javascript
jQuery实现简单的文件上传进度条效果
2020/03/26 Javascript
jQuery使用getJSON方法获取json数据完整示例
2016/09/13 Javascript
js中时间格式化的几种方法
2018/07/22 Javascript
[01:57]DOTA2上海特锦赛小组赛解说单车采访花絮
2016/02/27 DOTA
[33:15]2018DOTA2亚洲邀请赛3月30日 小组赛B组 VP VS Mineski
2018/03/31 DOTA
[03:41]2018完美盛典-《Fight With Us》
2018/12/16 DOTA
matplotlib绘制符合论文要求的图片实例(必看篇)
2017/06/02 Python
python中文乱码不着急,先看懂字节和字符
2017/12/20 Python
python3.6的venv模块使用详解
2018/08/01 Python
ubuntu上安装python的实例方法
2019/09/30 Python
关于python pycharm中输出的内容不全的解决办法
2020/01/10 Python
使用Python实现Wake On Lan远程开机功能
2020/01/22 Python
Python 批量读取文件中指定字符的实现
2020/03/06 Python
欧舒丹加拿大官网:L’Occitane加拿大
2017/10/29 全球购物
公务员转正鉴定材料
2014/02/11 职场文书
家长学校培训材料
2014/08/20 职场文书
2014年最新版离婚协议书范本
2014/11/25 职场文书
给医院的感谢信
2015/01/21 职场文书
2015年酒店客房部工作总结
2015/04/25 职场文书
大学推普周活动总结
2015/05/07 职场文书
外出培训学习心得体会
2016/01/18 职场文书
《鲁滨逊漂流记》之六读后感(4篇)
2019/09/29 职场文书
祝福语集锦:给妹妹结婚的祝福语
2019/12/18 职场文书
如何利用js在两个html窗口间通信
2021/04/27 Javascript
nginx配置虚拟主机的详细步骤
2021/07/21 Servers