php中addslashes(),htmlspecialchars

字体大小: 中小 标准 ->行高大小: 标准
addslashes -- 使用反斜线引用字符串 

string addslashes ( string str ) 


返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符)。 

一个使用 addslashes() 的例子是当你要往数据库中输入数据时。例如,将名字 O'reilly 插入到数据库中,这就需要对其进行转义。大多数据库使用 \ 作为转义符:O\'reilly。这样可以将数据放入数据库中,而不会插入额外的 \。当 PHP 指令 magic_quotes_sybase 被设置成 on 时,意味着插入 ' 时将使用 ' 进行转义。 

默认情况下,PHP 指令 magic_quotes_gpc 为 on,它主要是对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。



addslashes与stripslashes是php中对数据库的字符进行操作时.
乍一看好像很难记,但是只要分析一下,add是增加,strip是忽略.slash是斜线,slash就是斜线的复数.那么addslashes就是增加斜线的意思,因为有些特殊的字符写入数据库后会出现问题,比如" '等,所以要加\给特殊符号转义,告诉数据库那些特殊符号是字符串,同理stripslashes是从数据库取出字符串时就要减去斜线了.
     

 

      htmlspecialchars把某些特殊字符转换成html的编码,常用到的场合可能就是处理客户留言的留言版了。

这些特殊字符仅限于以下几个:

&   ->  &
“    ->  "
<   ->  &lt;
>   ->  &gt;
htmlentities跟htmlspecialchars的功能类似,但是htmlentities是对所有HTML定义的entity都不放过,包括各种特殊字符和中文,这样得出来的结果是中文字符部分变为一堆乱码。

htmlspecialchars_decode是htmlspecialchars的逆向过程,把html的编码转换成字符。

此文章由 http://www.ositren.com 收集整理 ,地址为: http://www.ositren.com/htmls/69682.html