我有以下代碼:PHP的preg_replace錯誤
protected function safePath($path) {
$path = (string) $path;
$path = preg_replace(
array(
'#[\n\r\t\0]*#im',
'#/(\.){1,}/#i',
'#(\.){2,}#i',
'#(\.){2,}#i',
'#\('.DIRECTORY_SEPARATOR.'){2,}#i'
),
array(
'',
'',
'',
'/'
),
$path
)
;
return rtrim($path,DIRECTORY_SEPARATOR);
}
後,我與一個路徑執行的功能,我得到這個錯誤:
警告:的preg_replace()[function.preg替換]:編譯失敗:在不匹配的括號中偏移3 ....../myfile.php上線
其中線534是這個標記在這裏:
protected function safePath($path) {
$path = (string) $path;
$path = preg_replace(
array(
'#[\n\r\t\0]*#im',
'#/(\.){1,}/#i',
'#(\.){2,}#i',
'#(\.){2,}#i',
'#\('.DIRECTORY_SEPARATOR.'){2,}#i'
),
array(
'',
'',
'',
'/'
), <---------------- THis is line 534
$path
)
;
return rtrim($path,DIRECTORY_SEPARATOR);
}
任何幫助修復此錯誤?謝謝。
在最後的正則表達式
嗯......那也是我的回答,儘管這裏的措辭比較好。 – SeanJA 2009-10-27 22:27:25