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

2015-01-24信息快讯网

本篇文章是对php中的htmlspecialchars()与shtmlspecialchars() 函数进行了详细的分析介绍,需要的朋友参考下

定义和用法
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使用exec shell命令注入的方法讲解
php使用mb_check_encoding检查字符串在指定的编码里是否有效
php去除HTML标签实例
php生成图形(Libchart)实例
php ZipArchive压缩函数详解实例
php foreach循环中使用引用的问题
在PHP上显示JFreechart画的统计图方法
简单实用的.net DataTable导出Execl
php模拟ping命令(php exec函数的使用方法)
php实现的一个很好用HTML解析器类可用于采集数据
php解析html类库simple_html_dom(详细介绍)
如何解决CI框架的Disallowed Key Characters错误提示
浅析php过滤html字符串,防止SQL注入的方法
浅析php插件 HTMLPurifier HTML解析器
php 去除html标记--strip_tags与htmlspecialchars的区别详解
深入探讨"&lt;br /&gt;"和 "\r\n" 两者有什么区别??
深入php define()函数以及defined()函数的用法详解
深入理解用mysql_fetch_row()以数组的形式返回查询结果
fetchAll()与mysql_fetch_array()的区别详解
用mysql_fetch_array()获取当前行数据的方法详解
深入分析使用mysql_fetch_object()以对象的形式返回查询结果
深入mysql_fetch_row()与mysql_fetch_array()的区别详解
基于Discuz security.inc.php代码的深入分析
基于PHP字符串的比较函数strcmp()与strcasecmp()的使用详解
解析dedecms空间迁移步骤详解
解析php中mysql_connect与mysql_pconncet的区别详解
基于curl数据采集之单页面并行采集函数get_htmls的使用
基于curl数据采集之单页面采集函数get_html的使用
dhtmlxTree目录树增加右键菜单以及拖拽排序的实现方法
php中将html中的br换行符转换为文本输入中的换行符
php添加文章时生成静态HTML文章的实现代码
mysqli_set_charset和SET NAMES使用抉择及优劣分析
关于mysql字符集设置了character_set_client=binary 在gbk情况下会出现表描述是乱码的情况
openflashchart 2.0 简单案例php版
©2014-2024 dbsqp.com