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 相关文章推荐
Dedecms V3.1 生成HTML速度的优化办法
Mar 18 PHP
php GeoIP的使用教程
Mar 09 PHP
PHP更新购物车数量(表单部分/PHP处理部分)
May 03 PHP
PHP 获取远程文件大小的3种解决方法
Jul 11 PHP
php格式化时间戳显示友好的时间实现思路及代码
Oct 23 PHP
支持png透明图片的php生成缩略图类分享
Feb 08 PHP
利用PHP fsockopen 模拟POST/GET传送数据的方法
Sep 22 PHP
PHP实现一个简单url路由功能实例
Nov 05 PHP
详解PHP防止盗链防止迅雷下载的方法
Apr 26 PHP
PDO::beginTransaction讲解
Jan 27 PHP
Yii 框架使用数据库(databases)的方法示例
May 19 PHP
关于PhpStorm设置点击编辑文件自动定位源文件的实现方式
Dec 30 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随机数 C扩展随机数
2016/05/04 PHP
laravel 实现根据字段不同值做不同查询
2019/10/23 PHP
nginx 设置多个站跨域
2021/03/09 Servers
JavaScript 应用技巧集合[推荐]
2009/08/30 Javascript
jQuery事件绑定.on()简要概述及应用
2013/02/07 Javascript
jquery制作搜狐快站页面效果示例分享
2014/02/21 Javascript
js 验证身份证信息有效性
2014/03/28 Javascript
js中的如何定位固定层的位置
2014/06/15 Javascript
js获取当前日期前七天的方法
2015/02/28 Javascript
基于原生JS实现图片裁剪
2016/08/01 Javascript
基于BootstrapValidator的Form表单验证(24)
2016/12/12 Javascript
Web制作验证码功能实例代码
2017/06/19 Javascript
谈谈vue中mixin的一点理解
2017/12/12 Javascript
在vue里面设置全局变量或数据的方法
2018/03/09 Javascript
Node.js创建HTTP文件服务器的使用示例
2018/05/11 Javascript
js数组去重的N种方法(小结)
2018/06/07 Javascript
Vue导出页面为PDF格式的实现思路
2018/07/31 Javascript
vue项目或网页上实现文字转换成语音播放功能
2020/06/09 Javascript
微信小程序地图实现展示线路
2020/07/29 Javascript
JQuery使用数组遍历跳出each循环
2020/09/01 jQuery
JavaScript arguments.callee作用及替换方案详解
2020/09/02 Javascript
Python实现将数据库一键导出为Excel表格的实例
2016/12/30 Python
flask + pymysql操作Mysql数据库的实例
2017/11/13 Python
Python使用win32com模块实现数据库表结构自动生成word表格的方法
2018/07/17 Python
python基础梳理(一)(推荐)
2019/04/06 Python
python使用turtle绘制国际象棋棋盘
2019/05/23 Python
opencv3/Python 稠密光流calcOpticalFlowFarneback详解
2019/12/11 Python
Python过滤掉numpy.array中非nan数据实例
2020/06/08 Python
Django数据模型中on_delete使用详解
2020/11/30 Python
女大学生个人求职信
2013/12/09 职场文书
党员承诺书格式
2014/05/21 职场文书
2014年政工师工作总结
2014/12/18 职场文书
大学生十八大感想
2015/08/11 职场文书
分析mysql中一条SQL查询语句是如何执行的
2021/06/21 MySQL
分享提高 Python 代码的可读性的技巧
2022/03/03 Python
JavaScript设计模式之原型模式详情
2022/06/21 Javascript