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 相关文章推荐
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
Apr 17 PHP
php 目录遍历、删除 函数的使用介绍
Apr 28 PHP
php使用imagick模块实现图片缩放、裁剪、压缩示例
Apr 17 PHP
PHP用反撇号执行外部命令
Apr 14 PHP
PHP数据库操作Helper类完整实例
May 11 PHP
php解决DOM乱码的方法示例代码
Nov 20 PHP
yii2.0整合阿里云oss上传单个文件的示例
Sep 19 PHP
关于ThinkPHP中的异常处理详解
May 11 PHP
CentOS7编译安装php7.1的教程详解
Apr 18 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
Feb 28 PHP
基于PHP实现堆排序原理及实例详解
Jun 19 PHP
PHP反射基础知识回顾
Sep 10 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也可以?成Shell Script
2006/10/09 PHP
php中preg_match的isU代表什么意思
2015/10/01 PHP
如何在旧的PHP系统中使用PHP 5.3之后的库
2015/12/02 PHP
PHP使用自定义方法实现数组合并示例
2016/07/07 PHP
基于PHP常用文件函数和目录函数整理
2017/08/17 PHP
workerman结合laravel开发在线聊天应用的示例代码
2018/10/30 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
JavaScript 组件之旅(四):测试 JavaScript 组件
2009/10/28 Javascript
JavaScript 判断判断某个对象是Object还是一个Array
2010/01/28 Javascript
javascript setAttribute, getAttribute 在不同浏览器上的不同表现
2010/08/05 Javascript
基于jquery的网页SELECT下拉框美化代码
2010/10/28 Javascript
Javascript的getYear、getFullYear、getUTCFullYear异同分享
2011/11/30 Javascript
详解AngularJS中的表达式使用
2015/06/16 Javascript
玩转JavaScript OOP - 类的实现详解
2016/06/08 Javascript
使用bat打开多个cmd窗口执行gulp、node
2017/02/17 Javascript
原生js实现瀑布流布局
2017/03/08 Javascript
解决echarts vue数据更新,视图不更新问题(echarts嵌在vue弹框中)
2020/07/20 Javascript
numpy中实现二维数组按照某列、某行排序的方法
2018/04/04 Python
Python PyAutoGUI模块控制鼠标和键盘实现自动化任务详解
2018/09/04 Python
对Python w和w+权限的区别详解
2019/01/23 Python
Django框架组成结构、基本概念与文件功能分析
2019/07/30 Python
wxpython绘制音频效果
2019/11/18 Python
Python数据可视化:饼状图的实例讲解
2019/12/07 Python
从0到1使用python开发一个半自动答题小程序的实现
2020/05/12 Python
Django集成MongoDB实现过程解析
2020/12/01 Python
python中常用的数据结构介绍
2021/01/12 Python
简单html5代码获取地理位置
2014/03/31 HTML / CSS
html2canvas生成清晰的图片实现打印的示例代码
2019/09/30 HTML / CSS
教师学习培训邀请函
2014/02/04 职场文书
感恩节红领巾广播稿
2014/02/11 职场文书
2014年个人委托书范本
2014/10/13 职场文书
2015年小学二年级班主任工作总结
2015/05/21 职场文书
2015初中教导处工作总结
2015/07/21 职场文书
2015双创工作总结
2015/07/24 职场文书
HR必备:销售经理聘用合同范本
2019/08/21 职场文书
react中props 的使用及进行限制的方法
2021/04/28 Javascript