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脚本的10个技巧(2)
Oct 09 PHP
smarty+adodb+部分自定义类的php开发模式
Dec 31 PHP
php获取当前网址url并替换参数或网址的方法
Jun 06 PHP
PHPMailer邮件发送的实现代码
May 04 PHP
PHP Session机制简介及用法
Aug 19 PHP
php获取客户端电脑屏幕参数的方法
Jan 09 PHP
php中__toString()方法用法示例
Dec 07 PHP
Zend Framework框架中实现Ajax的方法示例
Jun 27 PHP
PHP实现按之字形顺序打印二叉树的方法
Jan 16 PHP
PHP使用curl_multi实现并发请求的方法示例
Apr 29 PHP
php实现往pdf中加数字签名操作示例【附源码下载】
Aug 07 PHP
thinkPHP框架实现类似java过滤器的简单方法示例
Sep 05 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的栏目导航程序
2006/10/09 PHP
php中处理模拟rewrite 效果
2006/12/09 PHP
PHP实现手机号码中间四位用星号(*)隐藏的自定义函数分享
2014/09/27 PHP
PHP动态输出JavaScript代码实例
2015/02/12 PHP
再推荐十款免费的php开发工具
2015/11/09 PHP
php文件后缀不强制为.php的实操方法
2019/09/18 PHP
jquery属性过滤选择器使用示例
2013/06/18 Javascript
浅谈js中对象的使用
2016/08/11 Javascript
jQuery实现鼠标跟随效果
2017/02/20 Javascript
BootStrap+Mybatis框架下实现表单提交数据重复验证
2017/03/23 Javascript
关于angular js_$watch监控属性和对象详解
2017/04/24 Javascript
深入浅析Nodejs的Http模块
2017/06/20 NodeJs
H5基于iScroll实现下拉刷新和上拉加载更多
2017/07/18 Javascript
浅谈react-native热更新react-native-pushy集成遇到的问题
2017/09/30 Javascript
微信小程序上传图片功能(附后端代码)
2020/06/19 Javascript
JavaScript中关于base64的一些事
2019/05/06 Javascript
微信小程序获取用户信息并保存登录状态详解
2019/05/10 Javascript
Vue仿百度搜索功能
2020/12/28 Vue.js
[02:46]完美世界DOTA2联赛PWL DAY4集锦
2020/11/03 DOTA
Python设置默认编码为utf8的方法
2016/07/01 Python
Python利用itchat对微信中好友数据实现简单分析的方法
2017/11/21 Python
详解Python异常处理中的Finally else的功能
2017/12/29 Python
python 定时修改数据库的示例代码
2018/04/08 Python
Python使用plt.boxplot() 参数绘制箱线图
2020/06/04 Python
Python带参数的装饰器运行原理解析
2020/06/09 Python
德国健康生活方式网上商店:Landkaufhaus Mayer
2019/03/12 全球购物
英国亚马逊官方网站:Amazon.co.uk
2019/08/09 全球购物
与UNIX有关的几个名词
2015/09/17 面试题
决心书标准格式
2014/03/11 职场文书
《桂花雨》教学反思
2014/04/12 职场文书
个性婚礼策划方案
2014/05/17 职场文书
应届生找工作求职信
2014/06/24 职场文书
党员评议表自我评价范文
2014/10/20 职场文书
八年级上册语文教学计划
2015/01/22 职场文书
欠条样本
2015/07/03 职场文书
致毕业季:你如何做好自己的职业生涯规划书?
2019/07/01 职场文书