2012-02-18 80 views
1

我正在嘗試ot學習如何轉義簡單字符。我打印字符的ASCII>。 但是,當我使用函數addcslashes ..打印後,沒有逃脫。這是爲什麼?無法使用addcslashes()跳過字符串

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

我跟着他們的文件..但我上面的例子不工作。 Thye也使用2個分隔符!@範圍內的ASCII數字範圍..這是什麼意思?

$escaped = addcslashes($not_escaped, "\0..\[email protected]\177..\377"); 

回答

1

$charlist的ASCII碼爲八進制,不是小數。所以逃脫 「>」(十進制:62,八進制:76),使用以下代碼:

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

對於一個範圍,使用兩個點,而不是3( 'A..Z',而不是「一.. .Z「)。

+0

他們的文檔不會這麼說..如果我想要兩個範圍..我包含這些符號? – BlackFire27 2012-02-18 12:56:36

+0

> ASCII碼低於32且高於126的字符轉換爲*八進制表示*。 – pencil 2012-02-18 13:10:49

+1

多個範圍:'$ escaped = addcslashes($ not_escaped,「a..c!@ k..m」); // escape a-c and k-m' – pencil 2012-02-18 13:11:07