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 12 PHP
提升PHP执行速度全攻略
Oct 09 PHP
PHP通过正则表达式下载图片到本地的实现代码
Sep 19 PHP
php-perl哈希算法实现(times33哈希算法)
Dec 30 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
Apr 10 PHP
分享最受欢迎的5款PHP框架
Nov 27 PHP
PHP的伪随机数与真随机数详解
May 27 PHP
php mysql like 实现多关键词搜索的方法
Oct 29 PHP
centos 7.2下搭建LNMP环境教程
Nov 20 PHP
详解php curl带有csrf-token验证模拟提交方法
Apr 18 PHP
php中字符串和整数比较的操作方法
Jun 06 PHP
php输出形式实例整理
May 05 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
smarty 原来也不过如此~~呵呵
2006/11/25 PHP
Windows7下PHP开发环境安装配置图文方法
2010/05/20 PHP
PHP实现简单汉字验证码
2015/07/28 PHP
CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)
2016/09/01 PHP
[原创]PHP实现SQL语句格式化功能的方法
2017/07/28 PHP
thinkPHP5使用Rabc实现权限管理
2019/08/28 PHP
Jquery读取URL参数小例子
2013/08/30 Javascript
Jquery中ajax方法data参数的用法小结
2014/02/12 Javascript
jquery常用特效方法使用示例
2014/04/25 Javascript
javascript限制用户只能输汉字中文的方法
2014/11/20 Javascript
JS实现超过长度限制后自动跳转下一款文本框的方法
2015/02/23 Javascript
JavaScript使用indexOf获得子字符串在字符串中位置的方法
2015/04/06 Javascript
js判断登陆用户名及密码是否为空的简单实例
2016/05/16 Javascript
AngularJS入门教程之与服务器(Ajax)交互操作示例【附完整demo源码下载】
2016/11/02 Javascript
JS实现评价的星星功能
2017/08/20 Javascript
浅谈Vue响应式(数组变异方法)
2018/05/07 Javascript
layer.confirm取消按钮绑定事件的方法
2018/08/17 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
2018/09/28 Javascript
[47:26]完美世界DOTA2联赛 LBZS vs Forest 第二场 11.07
2020/11/09 DOTA
python中不能连接超时的问题及解决方法
2018/06/10 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
2019/08/02 Python
Windows下pycharm创建Django 项目(虚拟环境)过程解析
2019/09/16 Python
opencv3/Python 稠密光流calcOpticalFlowFarneback详解
2019/12/11 Python
Python3.7+tkinter实现查询界面功能
2019/12/24 Python
20行Python代码实现视频字符化功能
2020/04/13 Python
keras训练浅层卷积网络并保存和加载模型实例
2020/07/02 Python
Under Armour安德玛德国官网:美国高端运动科技品牌
2019/03/09 全球购物
应届生服装设计自我评价
2013/09/20 职场文书
计算机应用与科学个人的自我评价
2013/11/15 职场文书
公司周年庆典邀请函
2014/01/12 职场文书
八一建军节营销活动方案
2014/08/31 职场文书
承诺保证书格式
2015/02/28 职场文书
杨善洲观后感
2015/06/04 职场文书
勤俭节约主题班会
2015/08/13 职场文书
Python多线程 Queue 模块常见用法
2021/07/04 Python
python playwright之元素定位示例详解
2022/07/23 Python