浅谈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极大的增强功能和性能
Oct 09 PHP
phpmyadmin MySQL 加密配置方法
Jul 05 PHP
php 5.3.5安装memcache注意事项小结
Apr 12 PHP
php函数的常用方法及注意之处小结
Jul 10 PHP
PHP缓存技术的使用说明
Aug 06 PHP
PHP 数组和字符串互相转换实现方法
Mar 26 PHP
探讨:php中在foreach中使用foreach ($arr as &amp;$value) 这种类型的解释
Jun 24 PHP
php时区转换转换函数
Jan 07 PHP
php实现的ping端口函数实例
Nov 12 PHP
getimagesize获取图片尺寸实例
Nov 15 PHP
一个简单安全的PHP验证码类、PHP验证码
Sep 24 PHP
PHP自定义多进制的方法
Nov 03 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
Linux下PHP安装mcrypt扩展模块笔记
2014/09/10 PHP
PHP中的output_buffering详细介绍
2014/09/27 PHP
php导出生成word的方法
2015/12/25 PHP
laravel-admin的图片删除实例
2019/09/30 PHP
用jscript实现新建word文档
2007/06/15 Javascript
解决Extjs 4 Panel作为Window组件的子组件时出现双重边框问题
2013/01/11 Javascript
使用FlexiGrid实现Extjs表格效果方法分享
2014/12/16 Javascript
javascript最基本的函数汇总
2015/06/25 Javascript
kindeditor编辑器点中图片滚动条往上顶的bug
2015/07/05 Javascript
浅谈JS读取DOM对象(标签)的自定义属性
2016/11/21 Javascript
jQuery插件FusionCharts绘制2D双折线图效果示例【附demo源码】
2017/04/14 jQuery
详解nodejs异步I/O和事件循环
2017/06/07 NodeJs
微信小程序新手教程之启动页的重要性
2019/03/03 Javascript
如何使用原生Js实现随机点名详解
2021/01/06 Javascript
[05:15]DOTA2英雄梦之声_第16期_灰烬之灵
2014/06/21 DOTA
[01:04]DOTA2上海特锦赛现场采访 FreeAgain遭众解说围攻
2016/03/25 DOTA
python下读取公私钥做加解密实例详解
2017/03/29 Python
Python3.6.0+opencv3.3.0人脸检测示例
2018/05/25 Python
Python中psutil的介绍与用法
2019/05/02 Python
python操作日志的封装方法(两种方法)
2019/05/23 Python
pandas条件组合筛选和按范围筛选的示例代码
2019/08/26 Python
Python迷宫生成和迷宫破解算法实例
2019/12/24 Python
Mysql数据库反向生成Django里面的models指令方式
2020/05/18 Python
Python学习之路安装pycharm的教程详解
2020/06/17 Python
Keras设置以及获取权重的实现
2020/06/19 Python
keras的backend 设置 tensorflow,theano操作
2020/06/30 Python
pyqt5 textEdit、lineEdit操作的示例代码
2020/08/12 Python
纯CSS3实现Material Design效果
2017/03/09 HTML / CSS
护理专业毕业生推荐信
2013/10/31 职场文书
学生安全责任书范本
2014/07/24 职场文书
标准大学生职业生涯规划书写作指南
2014/09/18 职场文书
2015年秋季运动会前导词
2015/07/20 职场文书
2016年全国爱眼日宣传教育活动总结
2016/04/05 职场文书
工作自我评价范文
2019/03/21 职场文书
SpringRetry重试框架的具体使用
2021/07/25 Java/Android
Python Flask实现进度条
2022/05/11 Python