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 相关文章推荐
linux系统上支持php的 iconv()函数的方法
Oct 01 PHP
判断php数组是否为索引数组的实现方法
Jun 13 PHP
zend Framework中的Layout(模块化得布局)详解
Jun 28 PHP
destoon各类调用汇总
Jun 20 PHP
thinkphp学习笔记之多表查询
Jul 28 PHP
php中file_get_contents与curl性能比较分析
Nov 08 PHP
php array_merge函数使用需要注意的一个问题
Mar 30 PHP
PHP中类属性与类静态变量的访问方法示例
Jul 13 PHP
PHP简单检测网址是否能够正常打开的方法
Sep 04 PHP
Laravel5中防止XSS跨站攻击的方法
Oct 10 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
Oct 17 PHP
Windows平台实现PHP连接SQL Server2008的方法
Jul 26 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 读取文件乱码问题
2010/02/20 PHP
php实现数组中索引关联数据转换成json对象的方法
2015/07/08 PHP
srcElement表格样式
2006/09/03 Javascript
写的htc的数据表格
2007/01/20 Javascript
JavaScript DOM 学习第二章 编辑文本
2010/02/19 Javascript
jQuery dialog 异步调用ashx,webservice数据的代码
2010/08/03 Javascript
原生js和jquery分别实现横向导航菜单效果
2016/05/13 Javascript
14 个折磨人的 JavaScript 面试题
2016/08/08 Javascript
深入理解angular2启动项目步骤
2017/07/15 Javascript
微信小程序scroll-x失效的完美解决方法
2018/07/18 Javascript
js实现数字滚动特效
2019/12/16 Javascript
javascript设计模式 ? 状态模式原理与用法实例分析
2020/04/22 Javascript
python正则分组的应用
2013/11/10 Python
Python实现动态添加类的属性或成员函数的解决方法
2014/07/16 Python
python3实现爬取淘宝美食代码分享
2018/09/23 Python
Python实现多属性排序的方法
2018/12/05 Python
Python按钮的响应事件详解
2019/03/04 Python
python-Web-flask-视图内容和模板知识点西宁街
2019/08/23 Python
利用 Flask 动态展示 Pyecharts 图表数据方法小结
2019/09/04 Python
Python pip 安装与使用(安装、更新、删除)
2019/10/06 Python
Pyorch之numpy与torch之间相互转换方式
2019/12/31 Python
TensorFlow加载模型时出错的解决方式
2020/02/06 Python
jupyter notebook 参数传递给shell命令行实例
2020/04/10 Python
python eventlet绿化和patch原理
2020/11/21 Python
matplotlib制作雷达图报错ValueError的实现
2021/01/05 Python
在css3中background-clip属性与background-origin属性的用法介绍
2012/11/13 HTML / CSS
J2EE的优越性主要表现在哪些方面
2016/03/28 面试题
个人查摆剖析材料
2014/02/04 职场文书
医学院毕业生自荐信范文
2014/03/06 职场文书
文科毕业生自荐书范文
2014/04/17 职场文书
品牌推广策划方案
2014/05/28 职场文书
寒假社会实践个人总结
2015/03/06 职场文书
项目经理岗位职责范本
2015/04/01 职场文书
2019年特色火锅店的创业计划书模板
2019/08/28 职场文书
MySQL创建管理LIST分区
2022/04/13 MySQL
openEuler 搭建java开发环境的详细过程
2022/06/10 Servers