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初学者头疼问题总结
Jul 08 PHP
PHP简单系统数据添加以及数据删除模块源文件下载
Jun 07 PHP
swfupload 多文件上传实现代码
Aug 27 PHP
php实现加减法验证码代码
Feb 14 PHP
推荐一本PHP程序猿都应该拜读的书
Dec 31 PHP
typecho插件编写教程(一):Hello World
May 28 PHP
PHP网站建设的流程与步骤分享
Sep 25 PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
Nov 23 PHP
PHP大神的十大优良习惯
Sep 14 PHP
PHP中的函数声明与使用详解
May 27 PHP
关于php支持的协议与封装协议总结(推荐)
Nov 17 PHP
thinkPHP通用控制器实现方法示例
Nov 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
ThinkPHP模板判断输出Present标签用法详解
2014/06/30 PHP
[原创]PHP字符串中插入子字符串方法总结
2016/05/06 PHP
JSON 教程 json入门学习笔记
2020/09/22 Javascript
js如何实现设计模式中的模板方法
2013/07/23 Javascript
Jquery如何实现点击时高亮显示代码
2014/01/22 Javascript
node.js应用后台守护进程管理器Forever安装和使用实例
2014/06/01 Javascript
JavaScript学习笔记之数组去重
2016/03/23 Javascript
json数据处理及数据绑定
2017/01/25 Javascript
JavaScript控制浏览器全屏显示简单示例
2018/07/05 Javascript
微信小程序利用canvas 绘制幸运大转盘功能
2018/07/06 Javascript
Vue + Elementui实现多标签页共存的方法
2019/06/12 Javascript
Vue组件实现触底判断
2019/06/26 Javascript
基于vue-cli3创建libs库的实现方法
2019/12/04 Javascript
Echarts实现单条折线可拖拽效果
2019/12/19 Javascript
原生JS实现留言板功能
2020/02/08 Javascript
[07:52]2014DOTA2 TI逗比武士游V社解说背后的故事
2014/07/10 DOTA
[01:44]《为梦想出发》—联想杯DOTA2完美世界全国高校联赛
2015/09/30 DOTA
paramiko模块安装和使用(远程登录服务器)
2014/01/27 Python
Python 文件管理实例详解
2015/11/10 Python
Python基于更相减损术实现求解最大公约数的方法
2018/04/04 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
2019/04/06 Python
使用GitHub和Python实现持续部署的方法
2019/05/09 Python
PyCharm安装Markdown插件的两种方法
2019/06/24 Python
pytorch 中pad函数toch.nn.functional.pad()的用法
2020/01/08 Python
Python文件操作模拟用户登陆代码实例
2020/06/09 Python
Keras预训练的ImageNet模型实现分类操作
2020/07/07 Python
浅谈python锁与死锁问题
2020/08/14 Python
python中如何打包用户自定义模块
2020/09/23 Python
css3 实现元素弧线运动的示例代码
2020/04/24 HTML / CSS
台湾生鲜宅配:大口市集
2017/10/14 全球购物
社区消防工作实施方案
2014/03/21 职场文书
医学生毕业自我鉴定
2014/03/26 职场文书
个人求职信范文
2014/05/24 职场文书
上课迟到检讨书范文
2015/05/06 职场文书
创业计划书之面包店
2019/09/12 职场文书
Redis Stream类型的使用详解
2021/11/11 Redis