无法使用addcslashes()转义字符串

时间:2012-02-18 12:16:53

标签: php string

我正在尝试学习如何逃避简单的角色。我打印字符>的ASCII。 但是当我在使用addcslashes函数后打印它时,没有任何东西被转义。那是为什么?

     $da=ord('>'); 
     echo $da."<br/>";
     $not_escaped="><?";
      $escaped = addcslashes($not_escaped, "\61...\64");
      echo  $escaped;

我跟着他们的文件......但我上面的例子不起作用。 Thye还使用2个分隔符!@在ASCII数字范围之间。它是什么意思?

$escaped = addcslashes($not_escaped, "\0..\37!@\177..\377");

1 个答案:

答案 0 :(得分:1)

$charlist中的ASCII码是八进制,而不是十进制。所以逃避&#34;&gt;&#34; (十进制:62,八进制:76),使用此代码:

$escaped = addcslashes($not_escaped, "\76");

对于范围,请使用两个点而不是三个(&#39; a..z&#39;,而不是&#39; a ... z&#39;)。