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 相关文章推荐
一个用于网络的工具函数库
Oct 09 PHP
php获取mysql版本的几种方法小结
Mar 25 PHP
编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法
Jun 27 PHP
PHP中提问频率最高的11个面试题和答案
Sep 02 PHP
适用于初学者的简易PHP文件上传类
Oct 29 PHP
PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法
Apr 01 PHP
分析PHP中单双引号的误区和双引号小隐患
Jul 19 PHP
Yii2创建多界面主题(Theme)的方法
Oct 08 PHP
微信自定义分享php代码分析
Nov 24 PHP
php中各种定义变量的方法小结
Oct 18 PHP
PHP中非常有用却鲜有人知的函数集锦
Aug 17 PHP
解决Laravel 不能创建 migration 的问题
Oct 09 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 socket(fsockopen)的应用实例分析
2013/06/02 PHP
PHP 只允许指定IP访问(允许*号通配符过滤IP)
2014/07/08 PHP
正确的PHP匹配UTF-8中文的正则表达式
2015/05/13 PHP
10款PHP开源商城系统汇总介绍
2015/07/23 PHP
常见的四种POST 提交数据方式(小总结)
2015/10/08 PHP
20款效果非常棒的 jQuery 插件小结分享
2011/11/18 Javascript
弹出最简单的模式化遮罩层的js代码
2013/12/04 Javascript
Extjs grid添加一个图片状态或者按钮的方法
2014/04/03 Javascript
Nodejs学习笔记之测试驱动
2015/04/16 NodeJs
png在IE6 下无法透明的解决方法汇总
2015/05/21 Javascript
javascript+HTML5的Canvas实现Lab单车动画效果
2015/08/07 Javascript
JS判断元素是否在数组内的实现代码
2016/03/30 Javascript
微信小程序 摇一摇抽奖简单实例实现代码
2017/01/09 Javascript
Vue组件之极简的地址选择器的实现
2018/05/31 Javascript
详解ES6 Promise对象then方法链式调用
2018/10/20 Javascript
Cookbook组件形式:优化 Vue 组件的运行时性能
2018/11/25 Javascript
vue登录页面cookie的使用及页面跳转代码
2019/07/10 Javascript
vue3.0生命周期的示例代码
2020/09/24 Javascript
[06:13]DOTA2进化论(修改版)
2013/10/08 DOTA
[06:09]辉夜杯主赛事开幕式
2015/12/25 DOTA
重命名批处理python脚本
2013/04/05 Python
Python编程中实现迭代器的一些技巧小结
2016/06/21 Python
CentOS7下python3.7.0安装教程
2018/07/30 Python
Django实现学生管理系统
2019/02/26 Python
python opencv图片编码为h264文件的实例
2019/12/12 Python
利用 Python ElementTree 生成 xml的实例
2020/03/06 Python
详解Python流程控制语句
2020/10/28 Python
德国孕妇装和婴童服装网上商店:bellybutton
2018/04/12 全球购物
中国专业的音频分享平台:喜马拉雅
2019/05/24 全球购物
Farfetch阿联酋:奢侈品牌时尚购物平台
2019/07/26 全球购物
纪律教育月活动总结
2014/08/26 职场文书
收款委托书
2014/10/14 职场文书
2014年驻村干部工作总结
2014/11/17 职场文书
小学二年级班主任工作经验交流材料
2015/11/02 职场文书
JavaScript offset实现鼠标坐标获取和窗口内模块拖动
2021/05/30 Javascript
Go web入门Go pongo2模板引擎
2022/05/20 Golang