2012-08-24 204 views
-1

我試圖刪除重複的斜線,並在綁定它時收到錯誤。似乎有些角色必須逃脫,但我不知道哪一個。嘗試preg_replace時出現語法錯誤()

<?php 
$path = preg_replace('(\\){2,}', '$1', 'z:\\\aaa\\\\bbb\c\ddd\'); 
echo $path; 
?> 

這給了,

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE

有人能解決這個問題?

+0

您沒有帶語法高亮顯示的IDE?看看問題本身的突出問題。你逃避了'z:...'的結束語。下載NetBeans或Eclipse,Teno。 – Matt

+0

我正在使用Notepad ++,並不習慣花巧IDE的東西。 – Teno

+0

Notepad ++沒有語法高亮顯示?我只是將其粘貼到Notepad ++中,並且(再次)突出顯示立即出現。 – Matt

回答

5

這一部分:

'z:\\\aaa\\\\bbb\c\ddd\' 

應該是:

'z:\\\aaa\\\\bbb\c\ddd\\' 

你逃跑用反斜槓在右引號,所以串並沒有結束。

+0

在我的實際代碼中,它是一個變量。它仍然說'沒有結尾匹配分隔符')'' – Teno

+0

@Teno:[我沒有明白。](http://codepad.org/6XxINCGX)你的問題可能在前面的一行。 (另外,看看這個鍵盤 - 在正則表達式中還有其他一些修正,即分隔符和雙重轉義。) – Ryan

+0

Wao,感謝您的鏈接! – Teno

相關問題