PHP htmlspecialchars() 函数实例代码及用法大全


Posted in PHP onSeptember 18, 2018

实例

把预定义的字符 "<" (小于)和 ">" (大于)转换为 HTML 实体:

<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars($str);
?>

以上代码的 HTML 输出如下(查看源代码):

<!DOCTYPE html>
<html>
<body>
This is some <b>bold</b> text.
</body>
</html>

以上代码的浏览器输出:

This is some <b>bold</b> text.

运行实例

定义和用法

htmlspecialchars() 函数把预定义的字符转换为 HTML 实体。

预定义的字符是:

& (和号)成为 &
" (双引号)成为 "
' (单引号)成为 '
< (小于)成为 <
> (大于)成为 >

提示:如需把特殊的 HTML 实体转换回字符,请使用 htmlspecialchars_decode() 函数。

语法

htmlspecialchars(string,flags,character-set,double_encode)

参数 描述
string 必需。规定要转换的字符串。
flags 可选。规定如何处理引号、无效的编码以及使用哪种文档类型。 可用的引号类型: ENT_COMPAT - 默认。仅编码双引号。 ENT_QUOTES - 编码双引号和单引号。 ENT_NOQUOTES - 不编码任何引号。 无效的编码: ENT_IGNORE - 忽略无效的编码,而不是让函数返回一个空的字符串。应尽量避免,因为这可能对安全性有影响。 ENT_SUBSTITUTE - 把无效的编码替代成一个指定的带有 Unicode 替代字符 U+FFFD(UTF-8)或者 FFFD; 的字符,而不是返回一个空的字符串。 ENT_DISALLOWED - 把指定文档类型中的无效代码点替代成 Unicode 替代字符 U+FFFD(UTF-8)或者 FFFD;。 规定使用的文档类型的附加 flags: ENT_HTML401 - 默认。作为 HTML 4.01 处理代码。 ENT_HTML5 - 作为 HTML 5 处理代码。 ENT_XML1 - 作为 XML 1 处理代码。 ENT_XHTML - 作为 XHTML 处理代码。
character-set 可选。一个规定了要使用的字符集的字符串。 允许的值: UTF-8 - 默认。ASCII 兼容多字节的 8 位 Unicode ISO-8859-1 - 西欧 ISO-8859-15 - 西欧(加入欧元符号 + ISO-8859-1 中丢失的法语和芬兰语字母) cp866 - DOS 专用 Cyrillic 字符集 cp1251 - Windows 专用 Cyrillic 字符集 cp1252 - Windows 专用西欧字符集 KOI8-R - 俄语 BIG5 - 繁体中文,主要在台湾使用 GB2312 - 简体中文,国家标准字符集 BIG5-HKSCS - 带香港扩展的 Big5 Shift_JIS - 日语 EUC-JP - 日语 MacRoman - Mac 操作系统使用的字符集 注释:在 PHP 5.4 之前的版本,无法被识别的字符集将被忽略并由 ISO-8859-1 替代。自 PHP 5.4 起,无法被识别的字符集将被忽略并由 UTF-8 替代。
double_encode 可选。布尔值,规定了是否编码已存在的 HTML 实体。 TRUE - 默认。将对每个实体进行转换。 FALSE - 不会对已存在的 HTML 实体进行编码。

技术细节

返回值: 返回被转换的字符串。 如果 string 包含无效的编码,则返回一个空的字符串,除非设置了 ENT_IGNORE 或者 ENT_SUBSTITUTE 标志。
PHP 版本: 4+
更新日志: 在 PHP 5 中,character-set 参数的默认值改为 UTF-8。 在 PHP 5.4 中,新增了:ENT_SUBSTITUTE、ENT_DISALLOWED、ENT_HTML401、ENT_HTML5、ENT_XML1 和 ENT_XHTML。 在 PHP 5.3 中,新增了 ENT_IGNORE。 在 PHP 5.2.3 中,新增了 double_encode 参数。 在 PHP 4.1 中,新增了 character-set 参数。

更多实例

例子 1

把一些预定义的字符转换为 HTML 实体:

<?php
$str = "Bill & 'Steve'";
echo htmlspecialchars($str, ENT_COMPAT); // 只转换双引号
echo "<br>";
echo htmlspecialchars($str, ENT_QUOTES); // 转换双引号和单引号
echo "<br>";
echo htmlspecialchars($str, ENT_NOQUOTES); // 不转换任何引号
?>

以上代码的 HTML 输出如下(查看源代码):

<!DOCTYPE html>
<html>
<body>
Bill & 'Steve'<br>
Bill & 'Steve'<br>
Bill & 'Steve'
</body>
</html>

以上代码的浏览器输出:

Bill & 'Steve'
Bill & 'Steve'
Bill & 'Steve'

运行实例

例子 2

把双引号转换为 HTML 实体:

<?php
$str = 'I love "PHP".';
echo htmlspecialchars($str, ENT_QUOTES); // 转换双引号和单引号
?>

以上代码的 HTML 输出如下(查看源代码):

<!DOCTYPE html>
<html>
<body>
I love "PHP".
</body>
</html>

以上代码的浏览器输出:

I love "PHP".

下面看下PHP htmlspecialchars()的用法

htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。这个函数的效果其实在浏览器中打开页面是看不到的,要查看源代码才能看到。

•& (和号) 成为 &
•” (双引号) 成为 "
•' (单引号) 成为 '
•< (小于) 成为 <
•> (大于) 成为 >

htmlspecialchars(string,quotestyle,character-set)

quotestyle:

•ENT_COMPAT - 默认。仅编码双引号。
•ENT_QUOTES - 编码双引号和单引号。
•ENT_NOQUOTES - 不编码任何引号。

总结

以上所述是小编给大家介绍的PHP htmlspecialchars() 函数实例代码及用法大全,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
php分页函数
Jul 08 PHP
mysql,mysqli,PDO的各自不同介绍
Sep 19 PHP
PHP缓存机制Output Control详解
Jul 14 PHP
php ci框架中加载css和js文件失败的原因及解决方法
Jul 29 PHP
php数组操作之键名比较与差集、交集赋值的方法
Nov 10 PHP
php获取Google机器人访问足迹的方法
Apr 15 PHP
Zend Framework框架路由机制代码分析
Mar 22 PHP
PHP对象相关知识总结
Apr 09 PHP
PHP检查网站是否宕机的方法示例
Jul 24 PHP
Laravel实现定时任务的示例代码
Aug 10 PHP
PHP简单实现解析xml为数组的方法
May 02 PHP
PHP时间相关常用函数用法示例
Jun 03 PHP
Laravel用户授权系统的使用方法示例
Sep 16 #PHP
Laravel中错误与异常处理的用法示例
Sep 16 #PHP
laravel获取不到session的三种解决办法【推荐】
Sep 16 #PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
Sep 16 #PHP
thinkphp5引入公共部分header、footer的方法详解
Sep 14 #PHP
PHP中创建和编辑Excel表格的方法
Sep 13 #PHP
PHP通过get方法获得form表单数据方法总结
Sep 12 #PHP
You might like
3.从实例开始
2006/10/09 PHP
getimagesize获取图片尺寸实例
2014/11/15 PHP
Autocomplete Textbox Example javascript实现自动完成成功
2007/08/17 Javascript
javascript基础语法——全面理解变量和标识符
2016/06/02 Javascript
微信小程序 加载 app-service.js 错误解决方法
2016/10/12 Javascript
基于jquery实现的鼠标悬停提示案例
2016/12/11 Javascript
详解axios在node.js中的post使用
2017/04/27 Javascript
简单实现jQuery弹幕效果
2017/05/06 jQuery
vuejs 单文件组件.vue 文件的使用
2017/07/28 Javascript
EasyUI框架 使用Ajax提交注册信息的实现代码
2017/09/27 Javascript
使用 Node.js 模拟滑动拼图验证码操作的示例代码
2017/11/02 Javascript
原生JS进行前后端同构
2018/04/22 Javascript
vuex页面刷新后数据丢失的方法
2019/01/17 Javascript
Vue2.x通用条件搜索组件的封装及应用详解
2019/05/28 Javascript
jquery中为什么能用$操作
2019/06/18 jQuery
layui表格数据复选框回显设置方法
2019/09/13 Javascript
vue点击当前路由高亮小案例
2019/09/26 Javascript
Python 操作MySQL详解及实例
2017/04/30 Python
python如何让类支持比较运算
2018/03/20 Python
python将视频转换为全字符视频
2019/04/26 Python
django中账号密码验证登陆功能的实现方法
2019/07/15 Python
Python 使用多属性来进行排序
2019/09/01 Python
django有外键关系的两张表如何相互查找
2020/02/10 Python
Python图像处理库PIL中图像格式转换的实现
2020/02/26 Python
Python3 操作 MySQL 插入一条数据并返回主键 id的实例
2020/03/02 Python
浅析两列自适应布局的3种思路
2016/05/03 HTML / CSS
英国汽车座椅和婴儿车购物网站:Uber Kids
2017/04/19 全球购物
Woolworth官网:澳洲第一大超市
2017/06/25 全球购物
eBay德国站:eBay.de
2017/09/14 全球购物
荣耀俄罗斯官网:HONOR俄罗斯
2020/10/31 全球购物
EJB发布WEB服务一般步骤
2012/10/31 面试题
精神文明单位申报材料
2014/05/02 职场文书
岗位竞聘报告范文
2014/11/06 职场文书
js实现自动锁屏功能
2021/06/02 Javascript
GO语言字符串处理函数之处理Strings包
2022/04/14 Golang
MySQL表字段数量限制及行大小限制详情
2022/07/23 MySQL