php过滤htmlspecialchars() 函数实现把预定义的字符转换为 HTML 实体用法分析
发布:smiling 来源: PHP粉丝网 添加日期:2021-11-28 18:11:32 浏览: 评论:0
本文实例讲述了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、如需显示小于号,我们必须这样写:< 或 <使用实体名而不是数字的好处是,名称易于记忆。不过坏处是,浏览器也许并不支持所有实体名称(对实体数字的支持却很好)。
示例:
- <?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 实体:
& 解码成 & (和号)
" 解码成 " (双引号)
' 解码成 ' (单引号)
< 解码成 < (小于)
> 解码成 > (大于)
示例:
- <?php
- $str = "This is some <b>bold</b> text.";
- echo htmlspecialchars_decode($str);
- ?>
输出:
This is some <b>bold</b> text..
Tags: htmlspecialchars 预定义字符
相关文章
- ·php中htmlspecialchars,htmlentities用法(2014-09-14)
- ·php html_entity_decode实例教程(2014-09-20)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)