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 源代码压缩小工具
Dec 22 PHP
php批量更改数据库表前缀实现方法
Oct 26 PHP
PHP反射使用实例和PHP反射API的中文说明
Jul 02 PHP
Symfony数据校验方法实例分析
Jan 26 PHP
php提取身份证号码中的生日日期以及验证是否为成年人的函数
Sep 29 PHP
YII Framework框架教程之安全方案详解
Mar 14 PHP
PHP生成可点击刷新的验证码简单示例
May 13 PHP
ThinkPHP自定义Redis处理SESSION的实现方法
May 16 PHP
Yii2主题(Theme)用法详解
Jul 23 PHP
php无限级评论嵌套实现代码
Apr 18 PHP
PHP echo()函数讲解
Feb 15 PHP
TP5(thinkPHP5框架)实现显示错误信息及行号功能的方法
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
百度ping方法使用示例 自动ping百度
2014/01/26 PHP
php抽象方法和抽象类实例分析
2016/12/07 PHP
ExtJS 2.0实用简明教程 之获得ExtJS
2009/04/29 Javascript
用jquery方法操作radio使其默认选项是否
2013/09/10 Javascript
jQuery实现级联菜单效果(仿淘宝首页菜单动画)
2014/04/10 Javascript
jQuery打印图片pdf、txt示例代码
2014/07/22 Javascript
基于javascript实现的搜索时自动提示功能
2014/12/26 Javascript
javascript比较两个日期的先后示例代码
2014/12/31 Javascript
js获取微信版本号的方法
2015/05/12 Javascript
深入理解React高阶组件
2017/09/28 Javascript
vscode下vue项目中eslint的使用方法
2019/01/13 Javascript
js获取form表单中name属性的值
2019/02/27 Javascript
解决Vue中 父子传值 数据丢失问题
2019/08/27 Javascript
layui扩展上传组件模拟进度条的方法
2019/09/23 Javascript
详解Vue的组件中data选项为什么必须是函数
2020/08/17 Javascript
pycharm 使用心得(四)显示行号
2014/06/05 Python
Python中的if、else、elif语句用法简明讲解
2016/03/11 Python
python+selenium开发环境搭建图文教程
2017/08/11 Python
pytorch cnn 识别手写的字实现自建图片数据
2018/05/20 Python
Python常见读写文件操作实例总结【文本、json、csv、pdf等】
2019/04/15 Python
Python爬虫抓取技术的一些经验
2019/07/12 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
2019/10/12 Python
关于ResNeXt网络的pytorch实现
2020/01/14 Python
Python几种常见算法汇总
2020/06/02 Python
Python通过kerberos安全认证操作kafka方式
2020/06/06 Python
Python matplotlib模块及柱状图用法解析
2020/08/10 Python
python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
2021/01/30 Python
土耳其时尚购物网站:Morhipo
2017/09/04 全球购物
以设计师精品品质提供快速时尚:Mostata
2019/05/10 全球购物
LN-CC英国:伦敦时尚生活的缩影
2019/09/01 全球购物
国际商务专业职业生涯规划书范文
2014/01/17 职场文书
户外活动策划方案
2014/03/12 职场文书
行政专员岗位职责说明书
2014/07/30 职场文书
运动会加油稿30字
2015/07/21 职场文书
对Keras自带Loss Function的深入研究
2021/05/25 Python
Golang bufio详细讲解
2022/04/21 Golang