本文实例讲述了php过滤htmlspecialchars() 函数实现把预定义的字符转换为 HTML 实体用法。分享给大家供大家参考,具体如下:
这个函数非常重要,特别是在处理中文字符时,同时开发过程中往往需对写入数据库或读取数据库的数据进行处理。
htmlspecialchars(string,flags,character-set,double_encode)
1、string:必需。规定要转换的字符串。
2、flags:可选,规定如何处理引号、无效的编码以及使用哪种文档类型,如ENT_COMPAT、ENT_QUOTES、ENT_NOQUOTES
3、character-set:可选,顾名思义字符集,默认utf-8,当然支持很多编码,这里不列举
4、double_encode:可选,一个规定了是否编码已存在的 HTML 实体的布尔值。
预定义的字符是:
1、& (和号)成为 &
2、” (双引号)成为 ”
3、' (单引号)成为 ‘
4、< (小于)成为 < > (大于)成为 >
那么什么是HTML实体?
1、 在 HTML 中,某些字符是预留的。
2、在 HTML 中不能使用小于号(<)和大于号(>),这是因为浏览器会误认为它们是标签,当然在HTML中还有其他实体
3、如果希望正确地显示预留字符,我们必须在HTML源代码中使用字符实体(character entities)。
4、如需显示小于号,我们必须这样写:< 或 <使用实体名而不是数字的好处是,名称易于记忆。不过坏处是,浏览器也许并不支持所有实体名称(对实体数字的支持却很好)。
示例:
1
2
3
4
5
6
7
8
9
10
|
<?php
$str = "Apple & 'Orange'" ;
echo htmlspecialchars( $str , ENT_COMPAT); // 默认,仅编码双引号
//在右键查看源代码下结果为:Apple & 'Orange'
echo htmlspecialchars( $str , ENT_QUOTES); // 编码双引号和单引号
//在右键查看源代码下结果为:Apple & 'Orange'
echo htmlspecialchars( $str , ENT_NOQUOTES); // 不编码任何引号
//在右键查看源代码下结果为:Apple & 'Orange'
//扩展阅读htmlspecialchars_decode() — 将特殊的 HTML 实体转换回普通字符
?>
|
补充:htmlspecialchars_decode() — 将特殊的 HTML 实体转换回普通字符
htmlspecialchars_decode()
函数把一些预定义的 HTML 实体转换为字符。
被解码的 HTML 实体:
& 解码成 & (和号)
" 解码成 " (双引号)
' 解码成 ' (单引号)
< 解码成 < (小于)
> 解码成 > (大于)
示例:
1
2
3
4
|
<?php
$str = "This is some <b>bold</b> text." ;
echo htmlspecialchars_decode( $str );
?>
|
输出:
This is some <b>bold</b> text..
希望本文所述对大家PHP程序设计有所帮助。
原文链接:https://www.cnblogs.com/jinsanguo/p/7637824.html
相关文章
- 64M VPS建站:如何选择最适合的网站建设平台? 2025-06-10
- ASP.NET本地开发时常见的配置错误及解决方法? 2025-06-10
- ASP.NET自助建站系统的数据库备份与恢复操作指南 2025-06-10
- 个人网站服务器域名解析设置指南:从购买到绑定全流程 2025-06-10
- 个人网站搭建:如何挑选具有弹性扩展能力的服务器? 2025-06-10
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
-
2025-06-04 25
-
2025-05-25 71
-
2025-05-25 14
-
2025-05-27 23
-
CentOS 6.4安装配置LNMP服务器(Nginx+PHP+MySQL)
2025-05-25 67