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 相关文章推荐
swfupload 多文件上传实现代码
Aug 27 PHP
IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安装配置图文教程 2009年
Jun 08 PHP
php HtmlReplace输入过滤安全函数
Jul 03 PHP
php 抽象类的简单应用
Sep 06 PHP
php常见的魔术方法详解
Dec 25 PHP
9条PHP编程小知识及易犯的小错误
Jan 22 PHP
PHP中使用register_shutdown_function函数截获fatal error示例
Apr 21 PHP
php验证码实现代码(3种)
Sep 07 PHP
PHP  Yii清理缓存的实现方法
Nov 10 PHP
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
Feb 15 PHP
php根据用户名和手机号查询是否存在手机号码
Feb 16 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
Feb 06 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
CI框架集成Smarty的方法分析
2016/05/17 PHP
浅谈PHP中的数据传输CURL
2016/09/06 PHP
php基于闭包实现函数的自调用(递归)实例分析
2016/11/11 PHP
PHP实现Redis单据锁以及防止并发重复写入
2018/04/10 PHP
对laravel in 查询的使用方法详解
2019/10/09 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
PHP替换Word中变量并导出PDF图片的实现方法
2020/11/26 PHP
我也种棵OO树JXTree[js+css+xml]
2007/04/02 Javascript
来自国外的页面JavaScript文件优化
2010/12/08 Javascript
jquery复选框全选/取消示例
2013/12/30 Javascript
浅谈JavaScript 标准对象
2016/06/02 Javascript
Ajax+FormData+javascript实现无刷新表单信息提交
2016/10/24 Javascript
JS实现的适合做faq或menu滑动效果示例
2016/11/17 Javascript
关于微信上网页图片点击全屏放大效果
2016/12/19 Javascript
JavaScript实现公历转农历功能示例
2017/02/13 Javascript
javascript使用正则实现去掉字符串前面的所有0
2018/07/23 Javascript
Vue循环组件加validate多表单验证的实例
2018/09/18 Javascript
vue.js自定义组件directives的实例代码
2018/11/09 Javascript
Vue中CSS动画原理的实现
2019/02/13 Javascript
python merge、concat合并数据集的实例讲解
2018/04/12 Python
Python如何自动获取目标网站最新通知
2020/06/18 Python
使用matplotlib的pyplot模块绘图的实现示例
2020/07/12 Python
Expedia印度:您的一站式在线旅游网站
2017/08/24 全球购物
西班牙最好的在线购买葡萄酒的商店:Vinoseleccion
2019/10/30 全球购物
介绍下Java中==和equals的区别
2013/09/01 面试题
计算机应用专业应届毕业生中文求职信范文
2013/11/29 职场文书
大学生简历的个人自我评价
2013/12/04 职场文书
抗洪抢险事迹材料
2014/05/06 职场文书
奥巴马就职演讲稿
2014/05/15 职场文书
中学教师师德承诺书
2014/05/23 职场文书
119消防日活动总结
2014/08/29 职场文书
单位委托书范本(3篇)
2014/09/18 职场文书
答谢词范文
2015/01/05 职场文书
2015年大学迎新晚会总结
2015/07/16 职场文书
家长对孩子的寒假评语
2015/10/09 职场文书
MySQL通过binlog恢复数据
2021/05/27 MySQL