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调用mysql数据 dbclass类
May 07 PHP
PHPMYADMIN导入数据最大为2M的解决方法
Apr 23 PHP
Apache服务器无法使用的解决方法
May 08 PHP
ThinkPHP的Widget扩展实例
Jun 19 PHP
PHP中读取文件的8种方法和代码实例
Aug 05 PHP
php调用shell的方法
Nov 05 PHP
php实现短信发送代码
Jul 05 PHP
利用PHP fsockopen 模拟POST/GET传送数据的方法
Sep 22 PHP
手把手编写PHP框架 深入了解MVC运行流程
Sep 19 PHP
PHP面向对象之工作单元(实例讲解)
Jun 26 PHP
PHP5.0 TIDY_PARSE_FILE缓冲区溢出漏洞的解决方案
Oct 14 PHP
PHP常用字符串函数用法实例总结
Jun 04 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
萌王史莱姆”萌王性别尴尬!那“萌战”归女组还是男?
2018/12/17 日漫
win7+apache+php+mysql环境配置操作详解
2013/06/10 PHP
PHP与Java进行通信的实现方法
2013/10/21 PHP
PHP实现上传文件并存进数据库的方法
2015/07/16 PHP
详解WordPress中给链接添加查询字符串的方法
2015/12/18 PHP
php实现scws中文分词搜索的方法
2015/12/25 PHP
WordPress主题制作中自定义头部的相关PHP函数解析
2016/01/08 PHP
利用PHP生成CSV文件简单示例
2016/12/21 PHP
PHP的PDO错误与错误处理
2019/01/27 PHP
实现JavaScript中继承的三种方式
2009/10/16 Javascript
javascript函数定义的几种区别小结
2014/01/06 Javascript
AspNet中使用JQuery boxy插件的确认框
2015/05/20 Javascript
快速学习jQuery插件 Cookie插件使用方法
2015/12/01 Javascript
Jquery实现的简单轮播效果【附实例】
2016/04/19 Javascript
jquery 遍历数组 each 方法详解
2016/05/25 Javascript
AngularJS  $on、$emit和$broadcast的使用
2016/09/05 Javascript
jQuery实现form表单序列化转换为json对象功能示例
2018/05/23 jQuery
vue 巧用过渡效果(小结)
2018/09/22 Javascript
JavaScript 中 JSON.parse 函数 和 JSON.stringify 函数
2018/12/05 Javascript
vue项目中全局引入1个.scss文件的问题解决
2019/08/01 Javascript
记一次react前端项目打包优化的方法
2020/03/30 Javascript
javascript实现贪吃蛇游戏(娱乐版)
2020/08/17 Javascript
解决vue项目本地启动时无法携带cookie的问题
2021/02/06 Vue.js
[00:55]2015国际邀请赛中国区预选赛5月23日——28日约战上海
2015/05/25 DOTA
Pyramid将models.py文件的内容分布到多个文件的方法
2013/11/27 Python
Python 循环终止语句的三种方法小结
2019/06/24 Python
通过python实现windows桌面截图代码实例
2020/01/17 Python
使用 tf.nn.dynamic_rnn 展开时间维度方式
2020/01/21 Python
pycharm通过anaconda安装pyqt5的教程
2020/03/24 Python
基于Python爬取fofa网页端数据过程解析
2020/07/13 Python
python import 上级目录的导入
2020/11/03 Python
全球最大化妆品零售网站:SkinStore
2020/10/24 全球购物
行政部主管岗位职责
2013/12/28 职场文书
计算机网络工程专业职业生涯规划书
2014/03/10 职场文书
竞聘演讲稿
2014/04/24 职场文书
职工趣味运动会开幕词
2016/03/04 职场文书