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中str_replace函数使用小结
Oct 11 PHP
php实现首页链接查询 友情链接检查的代码
Jan 05 PHP
php file_put_contents()功能函数(集成了fopen、fwrite、fclose)
May 24 PHP
第二章 PHP入门基础之php代码写法
Dec 30 PHP
在项目中寻找代码的坏命名
Jul 14 PHP
PHP生成器简单实例
May 13 PHP
PHP模拟asp中response类实现方法
Aug 08 PHP
浅析Yii2 GridView实现下拉搜索教程
Apr 22 PHP
php实现图片上传、剪切功能
May 07 PHP
使用正则去除php代码中的注释方法
Nov 03 PHP
PHP版微信小店接口开发实例
Nov 12 PHP
Laravel源码解析之路由的使用和示例详解
Sep 27 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
jQuery+php实现ajax文件即时上传的详解
2013/06/17 PHP
PHP中的命名空间详细介绍
2015/07/02 PHP
分享8个Laravel模型时间戳使用技巧小结
2020/02/12 PHP
PhpStorm2020 + phpstudyV8 +XDebug的教程详解
2020/09/17 PHP
getJSON调用后台json数据时函数被调用两次的原因猜想
2013/09/29 Javascript
jQuery 追加元素的方法如append、prepend、before
2014/01/16 Javascript
让input框实现类似百度的搜索提示(基于jquery事件监听)
2014/01/31 Javascript
分享20款美化网站的 jQuery Lightbox 灯箱插件
2014/10/10 Javascript
js删除Array数组中指定元素的两种方法
2016/08/03 Javascript
jQuery中checkbox反复调用attr('checked', true/false)只有第一次生效的解决方法
2016/11/16 Javascript
leaflet的开发入门教程
2016/11/17 Javascript
js常用DOM方法详解
2017/02/04 Javascript
JavaScript基本类型值-Number类型
2017/02/24 Javascript
vue组件发布到npm简单步骤
2017/11/30 Javascript
详解vue中axios的封装
2018/07/18 Javascript
JavaScript引用类型Object常见用法实例分析
2018/08/08 Javascript
jQuery序列化form表单数据为JSON对象的实现方法
2018/09/20 jQuery
nodejs提示:cross-device link not permitted, rename错误的解决方法
2019/06/10 NodeJs
JS实现的进制转换,浮点数相加,数字判断操作示例
2019/11/09 Javascript
小程序接入腾讯位置服务的详细流程
2020/03/03 Javascript
DWR内存兼容及无法调用问题解决方案
2020/10/16 Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
2020/11/06 Javascript
Vue实现一种简单的无限循环滚动动画的示例
2021/01/10 Vue.js
[06:53]2018DOTA2国际邀请赛寻真——勇于创新的Vici Gaming
2018/08/14 DOTA
Python模拟三级菜单效果
2017/09/11 Python
python http接口自动化脚本详解
2018/01/02 Python
python numpy格式化打印的实例
2018/05/14 Python
wtfPython—Python中一组有趣微妙的代码【收藏】
2018/08/31 Python
Python读取mat文件,并保存为pickle格式的方法
2018/10/23 Python
python中bs4.BeautifulSoup的基本用法
2019/07/27 Python
python scrapy重复执行实现代码详解
2019/12/28 Python
python中spy++的使用超详细教程
2021/01/29 Python
个人求职简历的自我评价范文
2013/10/09 职场文书
大学生毕业的自我评价分享
2014/01/02 职场文书
四川成都导游欢迎词
2014/01/18 职场文书
JavaScript的function函数详细介绍
2021/11/20 Javascript