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 相关文章推荐
mysq GBKl乱码
Nov 28 PHP
PHP Token(令牌)设计
Mar 15 PHP
有关 PHP 和 MySQL 时区的一点总结
Mar 26 PHP
PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
Aug 07 PHP
php 上一篇,下一篇文章实现代码与原理说明
May 09 PHP
php多层数组与对象的转换实例代码
Aug 05 PHP
PHP解析html类库simple_html_dom的转码bug
May 22 PHP
destoon安全设置中需要设置可写权限的目录及文件
Jun 21 PHP
php实现文本数据导入SQL SERVER
May 17 PHP
php中preg_match的isU代表什么意思
Oct 01 PHP
[原创]php实现数组按拼音顺序排序的方法
May 03 PHP
Jsonp劫持学习
Apr 01 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学习之php4与php5之间会穿梭一点点感悟
2007/05/03 PHP
php中的strpos使用示例
2014/02/27 PHP
PHP统计数值数组中出现频率最多的10个数字的方法
2015/04/20 PHP
一个无限级XML绑定跨框架菜单(For IE)
2007/01/27 Javascript
在jquery中处理带有命名空间的XML数据
2011/06/13 Javascript
javascript设计模式之工厂模式示例讲解
2014/03/04 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
2015/07/29 Javascript
基于Javascript实现返回顶部按钮
2016/02/29 Javascript
深入理解JavaScript中的并行处理
2016/09/22 Javascript
jQuery生成假加载动画效果
2016/12/01 Javascript
JS生成和下载二维码的代码
2016/12/07 Javascript
利用nodejs监控文件变化并使用sftp上传到服务器
2017/02/18 NodeJs
详解jQuery同步Ajax带来的UI线程阻塞问题及解决办法
2017/08/09 jQuery
JavaScript实现选项卡效果的分析及步骤
2019/04/16 Javascript
React+Redux实现简单的待办事项列表ToDoList
2019/09/29 Javascript
Vue引入Stylus知识点总结
2020/01/16 Javascript
JavaScript实现字符串与HTML格式相互转换
2020/03/17 Javascript
在Python的框架中为MySQL实现restful接口的教程
2015/04/08 Python
Python工程师面试题 与Python Web相关
2016/01/14 Python
python 实现视频流下载保存MP4的方法
2019/01/09 Python
将python安装信息加入注册表的示例
2019/11/20 Python
Numpy将二维数组添加到空数组的实现
2019/12/05 Python
python清空命令行方式
2020/01/13 Python
selenium+python配置chrome浏览器的选项的实现
2020/03/18 Python
Python描述符descriptor使用原理解析
2020/03/21 Python
基于pandas向csv添加新的行和列
2020/05/25 Python
用CSS3实现Win8风格的方格导航菜单效果
2013/04/10 HTML / CSS
CSS3田字格列表的样式编写方法
2018/11/22 HTML / CSS
Vichy薇姿加拿大官网:法国药妆,全球专业敏感肌护肤领先品牌
2018/07/11 全球购物
英国地毯卖家:The Rug Seller
2019/07/18 全球购物
印度在线购物网站:Paytmmall
2019/07/24 全球购物
Herschel Supply Co.美国:背包、手提袋及配件
2020/11/24 全球购物
2014自主招生自荐信策略
2014/01/27 职场文书
小学数学教学反思
2014/02/02 职场文书
《中国的气候》教学反思
2014/02/23 职场文书
人物搭配车车超萌联名预备中 【咒术迴战】 ⨯ 【天竺鼠车车】 展开合作
2022/04/11 日漫