php过滤htmlspecialchars() 函数实现把预定义的字符转换为 HTML 实体用法分析


Posted in PHP onJune 25, 2019

本文实例讲述了php过滤htmlspecialchars() 函数实现把预定义的字符转换为 HTML 实体用法。分享给大家供大家参考,具体如下:

这个函数非常重要,特别是在处理中文字符时,同时开发过程中往往需对写入数据库或读取数据库的数据进行处理。

htmlspecialchars(string,flags,character-set,double_encode)

1、string:必需。规定要转换的字符串。

2、flags:可选,规定如何处理引号、无效的编码以及使用哪种文档类型,如ENT_COMPAT、ENT_QUOTES、ENT_NOQUOTES

3、character-set:可选,顾名思义字符集,默认utf-8,当然支持很多编码,这里不列举

4、double_encode:可选,一个规定了是否编码已存在的 HTML 实体的布尔值。

预定义的字符是:

1、& (和号)成为 &
2、” (双引号)成为 ”
3、' (单引号)成为 ‘
4、< (小于)成为 < > (大于)成为 >

那么什么是HTML实体?

1、 在 HTML 中,某些字符是预留的。
2、在 HTML 中不能使用小于号(<)和大于号(>),这是因为浏览器会误认为它们是标签,当然在HTML中还有其他实体
3、如果希望正确地显示预留字符,我们必须在HTML源代码中使用字符实体(character entities)。
4、如需显示小于号,我们必须这样写:< 或 <使用实体名而不是数字的好处是,名称易于记忆。不过坏处是,浏览器也许并不支持所有实体名称(对实体数字的支持却很好)。

示例:

<?php
$str = "Apple & 'Orange'";
  echo htmlspecialchars($str, ENT_COMPAT); // 默认,仅编码双引号
  //在右键查看源代码下结果为:Apple & 'Orange'
  echo htmlspecialchars($str, ENT_QUOTES); // 编码双引号和单引号
  //在右键查看源代码下结果为:Apple & 'Orange'
  echo htmlspecialchars($str, ENT_NOQUOTES); // 不编码任何引号
  //在右键查看源代码下结果为:Apple & 'Orange'
//扩展阅读htmlspecialchars_decode() — 将特殊的 HTML 实体转换回普通字符
?>

补充:htmlspecialchars_decode() — 将特殊的 HTML 实体转换回普通字符

htmlspecialchars_decode() 函数把一些预定义的 HTML 实体转换为字符。

被解码的 HTML 实体:

& 解码成 & (和号)
" 解码成 " (双引号)
' 解码成 ' (单引号)
< 解码成 < (小于)
> 解码成 > (大于)

示例:

<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars_decode($str);
?>

输出:

This is some <b>bold</b> text..

PHP 相关文章推荐
跟我学小偷程序之成功偷取首页(第三天)
Oct 09 PHP
使用PHP模拟HTTP认证
Oct 09 PHP
php的一些小问题
Jul 03 PHP
php学习笔记 面向对象中[接口]与[多态性]的应用
Jun 16 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)
May 05 PHP
PHP缓存技术的多种方法小结
Aug 14 PHP
PHP利用REFERER根居访问来地址进行页面跳转
Sep 28 PHP
php分页函数完整实例代码
Sep 22 PHP
深入浅出php socket编程
May 13 PHP
PHP中的静态变量及static静态变量使用详解
Nov 05 PHP
PHP编程开发怎么提高编程效率 提高PHP编程技术
Nov 09 PHP
php出租房数据管理及搜索页面
May 23 PHP
Laravel向公共模板赋值方法总结
Jun 25 #PHP
php常用字符串长度函数strlen()与mb_strlen()用法实例分析
Jun 25 #PHP
PHP中遍历数组的三种常用方法实例分析
Jun 24 #PHP
php字符串过滤strip_tags()函数用法实例分析
Jun 24 #PHP
提高Laravel应用性能方法详解
Jun 24 #PHP
PHP二维索引数组的遍历实例分析【2种方式】
Jun 24 #PHP
PHP中的self关键字详解
Jun 23 #PHP
You might like
php.ini修改php上传文件大小限制的方法详解
2013/06/17 PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
2014/10/21 PHP
THINKPHP内容分页代码分享
2015/01/14 PHP
PHP序列化和反序列化深度剖析实例讲解
2020/12/29 PHP
前后台交互过程中json格式如何解析以及如何生成
2012/12/26 Javascript
jquery 通过name快速取值示例
2014/01/24 Javascript
JS弹出可拖拽可关闭的div层完整实例
2015/02/13 Javascript
JavaScript通过prototype给对象定义属性用法实例
2015/03/23 Javascript
AngularJS使用ngOption实现下拉列表的实例代码
2016/01/23 Javascript
基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
2016/05/12 Javascript
jQuery Validate 校验多个相同name的方法
2017/05/18 jQuery
vue子组件使用自定义事件向父组件传递数据
2017/05/27 Javascript
JavaSctit 利用FileReader和滤镜上传图片预览功能
2017/09/05 Javascript
JavaScript生成指定范围随机数和随机序列的方法
2018/05/05 Javascript
Vue CLI 3搭建vue+vuex最全分析(推荐)
2018/09/27 Javascript
Vue自定义指令上报Google Analytics事件统计的方法
2019/02/25 Javascript
layui 表格操作列按钮动态显示的实现方法
2019/09/06 Javascript
让IDE识别webpack的别名alias的实现方法
2020/05/06 Javascript
使用python搭建Django应用程序步骤及版本冲突问题解决
2013/11/19 Python
python多线程操作实例
2014/11/21 Python
Python编写带选项的命令行程序方法
2019/08/13 Python
python os.path.isfile()因参数问题判断错误的解决
2019/11/29 Python
Keras 数据增强ImageDataGenerator多输入多输出实例
2020/07/03 Python
基础的CSS3弹性盒Flexbox布局使用实例
2016/04/08 HTML / CSS
基于Canvas+Vue的弹幕组件的实现
2019/07/23 HTML / CSS
HTML5 canvas基本绘图之绘制五角星
2016/06/27 HTML / CSS
薇姿法国官网:Vichy法国
2021/01/28 全球购物
总经理职责
2013/12/22 职场文书
财会自我鉴定范文
2013/12/27 职场文书
违反工作纪律检讨书
2014/02/15 职场文书
十佳好少年事迹材料
2014/08/21 职场文书
党支部2014年度工作总结
2014/12/04 职场文书
优秀共产党员推荐材料
2014/12/18 职场文书
不尊敬老师的检讨书
2014/12/21 职场文书
白鹤梁导游词
2015/02/06 职场文书
预备党员的思想汇报,你真的会写吗?
2019/06/28 职场文书