PHP函数strip_tags/htmlspecialchars

函数: strip_tags($str, $allow)

作用: 去除html/xml和php标签.

参数: $allow规定例外的标签, 允许这些标签不被删除.

<?php
echo strip_tags("Hello <b>world!</b>");
// output: Hello world!
echo strip_tags("Hello <b><i>world!</i></b>","<b>");
// output: Hello world!
// 查看html源码: Hello <b>world!</b>

?>

备注:fgetss()函数有类似的功能.

 

函数: htmlspecialchars(string,quotestyle,character-set)

作用: 将特殊字元转换成html实体.

备注: 转换的特殊字元包括(只有这5个):

  & (和) 转成 &amp; 
  " (双引号) 转成 &quot; 
  < (小于) 转成 &lt;
  > (大于) 转成 &gt; 
  '' (单引号) 转成 &#039;

<?php
$new = htmlspecialchars( "<a href='test'>Test</a>" , ENT_QUOTES);
echo $new ;
// output: <a href='test'>Test</a>
// html源码: &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;

?>

 

函数:htmlentities

作用: 将所有的字符转换为html实体

参数: character-set可以指定字符集, 如果转换的字符串中有中文, 需要设置字符集为GB2312.

  否则转换结果会出现乱码.


函数: html_entity_decode

作用: 把html实体还原成字符, 是htmlentities的反函数.

 

函数: htmlspecialchars_decode

作用: 把预定义的html实体还原成字符,  是htmlspecialchars的反函数.

 

函数: addslashes

作用: 在预定义的字符前添加反斜杠

备注: 预定义的字符包括单引号('),双引号(''),反斜杠(\),NULL.

  该函数用于为存储在数据库中的字符串以及数据库查询语句准备合适的字符串。
  如果php参数magic_quotes_gpc 为on, 对所有的get/post/cookie数据自动运行addslashes,这时不要再使用addslashes,避免双层转义;

  遇到这种情况, 使用函数get_magic_quotes_gpc()进行检测.

 

函数: stripslashes

作用: 删除由addslashes()函数添加的反斜杠。

备注: 该函数用于清理从数据库或 HTML 表单中取回的数据。


函数: mysql_real_escape_string

作用: 转义 SQL 语句中使用的字符串中的特殊字符.

  受影响字符包括:

  • \x00
  • \n
  • \r
  • \
  • '
  • "
  • \x1a

返回: 成功返回转义后的字符串, 失败返回false.

注释: 该函数和htmlspecialchars的区别在于,mysql_real_escape_string用于防止SQL注入, 

htmlspecialchars是将html转换, 避免XSS类攻击.

 

posted on 2012-03-25 01:59  DavidYanXW  阅读(710)  评论(0)    收藏  举报