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版)
Oct 09 PHP
phpmyadmin导入(import)文件限制的解决办法
Dec 11 PHP
那些年一起学习的PHP(一)
Mar 21 PHP
巧用php中的array_filter()函数去掉多维空值的代码分享
Sep 07 PHP
codeigniter数据库操作函数汇总
Jun 12 PHP
使用 PHPStorm 开发 Laravel
Mar 24 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
Jun 10 PHP
php版微信公众平台回复中文出现乱码问题的解决方法
Sep 22 PHP
ThinkPHP下表单令牌错误与解决方法分析
May 20 PHP
PHP读取、解析eml文件及生成网页的方法示例
Sep 04 PHP
PHP实现可精确验证身份证号码的工具类示例
May 31 PHP
PHP实现获取毫秒时间戳的方法【使用microtime()函数】
Mar 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 动态生成静态HTML页面示例代码
2014/01/15 PHP
php将数组转换成csv格式文件输出的方法
2015/03/14 PHP
PHP实现GIF图片验证码
2015/11/04 PHP
PHP新建类问题分析及解决思路
2015/11/19 PHP
比较详细的关于javascript中void(0)的具体含义解释
2007/08/02 Javascript
JavaScript入门教程(11) js事件处理
2009/01/31 Javascript
在一个浏览器里呈现所有浏览器测试结果的前端测试工具的思路
2010/03/02 Javascript
jquery插件之easing 动态菜单
2010/08/21 Javascript
用JQuery模仿淘宝的图片放大镜显示效果
2011/09/15 Javascript
js 完美图片新闻轮转效果,腾讯大粤网首页图片轮转改造而来
2011/11/21 Javascript
页面只能打开一次Cooike如何实现
2012/12/04 Javascript
同时使用n个window onload加载实例介绍
2013/04/25 Javascript
如何在JavaScript中实现私有属性的写类方式(二)
2013/12/04 Javascript
jQuery 仿百度输入标签插件附效果图
2014/07/04 Javascript
javascript解析xml实现省市县三级联动的方法
2015/07/25 Javascript
Boostrap基础教程之JavaScript插件篇
2016/09/08 Javascript
NodeJs读取JSON文件格式化时的注意事项
2016/09/25 NodeJs
vue插件tab选项卡使用小结
2016/10/27 Javascript
highcharts 在angular中的使用示例代码
2017/09/20 Javascript
vue中axios的二次封装实例讲解
2019/10/14 Javascript
javascript事件循环event loop的简单模型解释与应用分析
2020/03/14 Javascript
JavaScript数组排序功能简单实现
2020/05/14 Javascript
实用的 vue tags 创建缓存导航的过程实现
2020/12/03 Vue.js
Python中turtle作图示例
2017/11/15 Python
如何利用python查找电脑文件
2018/04/27 Python
Python测试网络连通性示例【基于ping】
2018/08/03 Python
Face++ API实现手势识别系统设计
2018/11/21 Python
正则给header的冒号两边参数添加单引号(Python请求用)
2019/08/09 Python
解决Tensorflow sess.run导致的内存溢出问题
2020/02/05 Python
自学python用什么系统好
2020/06/23 Python
卫生安全检查制度
2014/02/04 职场文书
党支部三严三实对照检查材料思想汇报
2014/09/29 职场文书
2014年城管个人工作总结
2014/12/08 职场文书
肖申克救赎观后感
2015/06/02 职场文书
Vue实现导入Excel功能步骤详解
2021/07/03 Vue.js
Python+Pillow+Pytesseract实现验证码识别
2022/05/11 Python