我有以下代码: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