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中$_SERVER的详细参数与说明
Jul 29 PHP
PHP+MYSQL会员系统的登陆即权限判断实现代码
Sep 23 PHP
win7下memCache的安装过程(具体操作步骤)
Jun 28 PHP
本地机apache配置基于域名的虚拟主机详解
Aug 10 PHP
php的mkdir()函数创建文件夹比较安全的权限设置方法
Jul 28 PHP
PHP命令行脚本接收传入参数的三种方式
Aug 20 PHP
PHP制作百度词典查词采集器
Jan 29 PHP
PHP中filter函数校验数据的方法详解
Jul 31 PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
Dec 31 PHP
PHP正则匹配反斜杠'\'和美元'$'的方法
Feb 08 PHP
laravel手动创建数组分页的实现代码
Jun 07 PHP
php curl获取https页面内容,不直接输出返回结果的设置方法
Jan 15 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
虹吸式咖啡探讨–研磨
2021/03/03 冲泡冲煮
PHP中对数组的一些常用的增、删、插操作函数总结
2015/11/27 PHP
PHP请求远程地址设置超时时间的解决方法
2016/10/29 PHP
php中namespace及use用法分析
2016/12/06 PHP
php框架CodeIgniter主从数据库配置方法分析
2018/05/25 PHP
PHPStorm2020.1永久激活及下载更新至2020(推荐)
2020/09/25 PHP
jQuery实现点击标题输入详细信息
2013/04/16 Javascript
jquery获取元素值的方法(常见的表单元素)
2013/11/15 Javascript
JavaScript常用小技巧小结
2014/12/29 Javascript
JavaScript学习小结(7)之JS RegExp
2015/11/29 Javascript
基于JavaScript FileReader上传图片显示本地链接
2016/05/27 Javascript
jQuery ajax中使用confirm,确认是否删除的简单实例
2016/06/17 Javascript
总结javascript中的六种迭代器
2016/08/16 Javascript
详解使用angular的HttpClient搭配rxjs
2017/09/01 Javascript
javascript数组定义的几种方法
2017/10/06 Javascript
JS中实现隐藏部分姓名或者电话号码的代码
2018/07/17 Javascript
react项目实践之webpack-dev-serve
2018/09/14 Javascript
js实现导航跟随效果
2018/11/17 Javascript
JS实现扫码枪扫描二维码功能
2020/01/03 Javascript
python在多玩图片上下载妹子图的实现代码
2013/08/13 Python
Python DataFrame.groupby()聚合函数,分组级运算
2018/09/18 Python
浅析python中的迭代与迭代对象
2018/10/08 Python
YUV转为jpg图像的实现
2019/12/09 Python
基于Python测试程序是否有错误
2020/05/16 Python
Python matplotlib 绘制双Y轴曲线图的示例代码
2020/06/12 Python
python实现画图工具
2020/08/27 Python
文明教师事迹材料
2014/01/16 职场文书
小学假期安全广播稿
2014/09/28 职场文书
幼儿园工作总结2015
2015/04/01 职场文书
《扇形统计图》教学反思
2016/02/17 职场文书
用Python写一个简易版弹球游戏
2021/04/13 Python
vue完美实现el-table列宽自适应
2021/05/08 Vue.js
MySQL 分页查询的优化技巧
2021/05/12 MySQL
golang 实用库gotable的具体使用
2021/07/01 Golang
Win11 引入 Windows 365 云操作系统,适应疫情期间混合办公模式:启动时直接登录、模
2022/04/06 数码科技
关于MySQL中explain工具的使用
2023/05/08 MySQL