次のコードがあります。
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-replace]: コンパイルに失敗しました:行534の....../myfile.phpのオフセット 3 で括弧が一致しません
ここで、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);
}
このエラーを修正する助けはありますか? ありがとうございました。