php htmlspecialchars()与shtmlspecialchars()函数的深入分析


Posted in PHP onJune 05, 2013

定义和用法
htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。

预定义的字符是:
•& (和号) 成为 &
•" (双引号) 成为 "
•' (单引号) 成为 '
•< (小于) 成为 <
•> (大于) 成为 >
语法
htmlspecialchars(string,quotestyle,character-set)

参数 描述
string 必需。规定要转换的字符串。
quotestyle 可选。规定如何编码单引号和双引号。 ENT_COMPAT - 默认。仅编码双引号。 ENT_QUOTES - 编码双引号和单引号。 ENT_NOQUOTES - 不编码任何引号。
character-set 可选。字符串值,规定要使用的字符集。 ISO-8859-1 - 默认。西欧。 ISO-8859-15 - 西欧(增加 Euro 符号以及法语、芬兰语字母)。 UTF-8 - ASCII 兼容多字节 8 比特 Unicode cp866 - DOS 专用 Cyrillic 字符集 cp1251 - Windows 专用 Cyrillic 字符集 cp1252 - Windows 专用西欧字符集 KOI8-R - 俄语 GB2312 - 简体中文,国家标准字符集 BIG5 - 繁体中文 BIG5-HKSCS - Big5 香港扩展 Shift_JIS - 日语 EUC-JP - 日语

提示和注释
提示:
无法被识别的字符集将被忽略,并由 ISO-8859-1 代替。
例子
<html>
    <body>
    <?php
        $str = "John & 'Adams'";
        echo htmlspecialchars($str, ENT_COMPAT);
        echo "<br />";
        echo htmlspecialchars($str, ENT_QUOTES);
        echo "<br />";
        echo htmlspecialchars($str, ENT_NOQUOTES);
    ?>
    </body>
</html>

浏览器输出:
John & 'Adams'
John & 'Adams'
John & 'Adams'

如果在浏览器中查看源代码,会看到这些 HTML:
<html>
    <body>
    John & 'Adams'<br />John & 'Adams'<br />John & 'Adams'    </body>
</html>

=======================================================================
shtmlspecialchars() 函数正好相反
PHP 相关文章推荐
PHP 和 XML: 使用expat函数(三)
Oct 09 PHP
字母顺序颠倒而单词顺序不变的php代码
Aug 08 PHP
PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍
Sep 11 PHP
简单谈谈PHP中strlen 函数
Feb 27 PHP
PHP使用Mysqli类库实现完美分页效果的方法
Apr 07 PHP
CodeIgniter常用知识点小结
May 26 PHP
PHP生成短网址方法汇总
Jul 12 PHP
PHP yii实现model添加默认值的方法(两种方法)
Nov 10 PHP
thinkPHP多语言切换设置方法详解
Nov 11 PHP
解决微信授权回调页面域名只能设置一个的问题
Dec 11 PHP
thinkPHP5实现数据库添加内容的方法
Oct 25 PHP
Laravel 数据库加密及数据库表前缀配置方法
Oct 10 PHP
深入php define()函数以及defined()函数的用法详解
Jun 05 #PHP
基于PHP array数组的教程详解
Jun 05 #PHP
深入php list()函数的详解
Jun 05 #PHP
深入php var_dump()函数的详解
Jun 05 #PHP
php数组(array)输出的三种形式详解
Jun 05 #PHP
php set_time_limit()函数的使用详解
Jun 05 #PHP
基于PHP文件操作的详解
Jun 05 #PHP
You might like
从一个不错的留言本弄的mysql数据库操作类
2007/09/02 PHP
php仿discuz分页效果代码
2008/10/02 PHP
PHP多例模式介绍
2013/06/24 PHP
php实现的获取网站备案信息查询代码(360)
2013/09/23 PHP
ThinkPHP3.2.2的插件控制器功能简述
2014/07/09 PHP
PHP实现的简单适配器模式示例
2017/06/22 PHP
详解提高使用Java反射的效率方法
2019/04/29 PHP
一款JavaScript压缩工具:X2JSCompactor
2007/06/13 Javascript
fckeditor 获取文本框值的实现代码
2009/02/09 Javascript
kmock javascript 单元测试代码
2011/02/06 Javascript
jQuery 自定义函数写法分享
2012/03/30 Javascript
js使用split函数按照多个字符对字符串进行分割的方法
2015/03/20 Javascript
简介JavaScript中Math.cos()余弦方法的使用
2015/06/15 Javascript
js实现a标签超链接提交form表单的方法
2015/06/24 Javascript
Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#‘的解决方法
2017/06/17 Javascript
Vue.js移动端左滑删除组件的实现代码
2017/09/08 Javascript
基于jQuery解决ios10以上版本缩放问题
2017/11/03 jQuery
vue中使用cookies和crypto-js实现记住密码和加密的方法
2018/10/18 Javascript
JQuery搜索框自动补全(模糊匹配)功能实现示例
2019/01/08 jQuery
jquery 插件重新绑定的处理方法分析
2019/11/23 jQuery
Vue事件处理原理及过程详解
2020/03/11 Javascript
微信jssdk踩坑之签名错误invalid signature
2020/05/19 Javascript
python解析xml模块封装代码
2014/02/07 Python
详解Python的Django框架中的Cookie相关处理
2015/07/22 Python
Python操作Word批量生成文章的方法
2015/07/28 Python
Python一键查找iOS项目中未使用的图片、音频、视频资源
2019/08/12 Python
python爬虫实现POST request payload形式的请求
2020/04/30 Python
python实现在列表中查找某个元素的下标示例
2020/11/16 Python
HTML5中外部浏览器唤起微信分享
2020/01/02 HTML / CSS
南非最大的花卉和送礼服务:NetFlorist
2017/09/13 全球购物
最新茶叶店创业计划书
2014/01/14 职场文书
个人主要事迹材料
2014/08/26 职场文书
2015年网络舆情工作总结
2015/07/24 职场文书
党章党规党纪学习心得体会
2016/01/14 职场文书
Win11如何修改dns?Win11修改dns图文教程
2022/01/18 数码科技
MySQL库表太大怎么办? 数据库分库分表项目实践
2022/04/11 MySQL