• PHP addslashes()和stripslashes():字符串转义

    PHP 中使用 addslashes() 函数转义字符串。所谓字符串转义,就是在某些特殊字符前面加上转义符号\,这些特殊字符包括单引号'、双引号"、反斜线\与空字符NUL

    addslashes() 函数的语法格式如下:

    string addslashes ( string $str )

    该函数返回转义后的字符串,参数 $str 是要被转义的字符。

    一个使用 addslashes() 的例子是往数据库中输入数据,例如将名字O'reilly插入数据库中,就需要对其进行转义。

    我强烈建议使用 DBMS 指定的转义函数,比如 MySQL 是 mysqli_real_escape_string(),PostgreSQL 是 pg_escape_string(),但是如果你使用的 DBMS 没有一个转义函数,并且需要使用\来转义特殊字符,那么就可以使用 addslashes() 函数。仅仅是为了获取插入数据库的数据,额外的\并不会插入。

    当 PHP 指令 magic_quotes_sybase 被设置成 on 时,意味着插入'时将使用'进行转义。

    转义字符串的示例如下:

    <?php
    $str = "I don't love you";
    echo addslashes($str);
    ?>

    执行以上程序的结果为:

    I don\'t love you

    stripslashes() 函数可以还原经 addslashes()转义的字符串,它的语法格式如下:

    string stripslashes( string $str )

    该函数返回未经转义的原始字符串,参数 $str 是转义后的字符串。

    还原转义字符串的示例如下:

    <?php
    $str = "I don't love you";
    $str1 = addslashes($str);
    echo $str1 . "<br />";
    echo stripslashes($str1) . "<br />";
    ?>

    以上程序的执行结果为:

    I don\'t love you
    I don't love you

全部加载完成