2011-05-05 22 views
3

我必須重新格式化其可以包含以下的字符串:由PHP解釋爲八進制值的反斜槓+數字,如何阻止?

$string = "---8\7----"; 

的問題是,「\ 7」由PHP解釋爲八進制值,而不是僅僅「\」,然後「7」。

如何阻止php這樣做?當然,我需要保留'\' 謝謝。

+0

您是如何得到輸入的?從一個文件?從HTML表單? – jedwards 2011-05-05 11:18:38

回答

7

正如其他人所說,逃避與另一個反斜槓反斜槓,但我覺得我應該提到爲什麼這樣呢。你的字符串是用雙引號寫的,在PHP中輸入template mode where certain rules gets invoked,其中一個確實是你偶然發現的。使用單引號修復了這一點,因爲它沒有做任何模板;

$string = '---8\7----'; 

這是親的和兩種模式的反對的,真的,但只要你意識到這一點,應該不會咬你太辛苦的未來。 :)

+0

用單引號替換雙引號確實有竅門! 非常感謝! – SuN 2011-05-05 11:38:33

0

退出反斜槓。

$string = "---8\\7----"; 
0

使用兩條斜線:

$string = "---8\\7----"; 
0

使用轉義字符:

$string = "---8\\7----"; 
1

您需要給反斜線以轉義該charatcer。

$string = "---8\\7----";