的follwing代碼給我一個錯誤 「的preg_replace()[function.preg替換]:未知的修飾詞 '?'」preg_replace()[function.preg-replace]:未知修飾符'?'
$str = 'background: url("../../dsdgsd/contain.jpg");';
echo preg_replace('/url\s?\(\s?(\"|\')([../?]*[a-z/]*?[/?]?)([a-z0-9_-]*[.][jpg|jpeg|png|jpeg]*)([\'|\"]\))/gi','url("../images/$3")',$str);
你對[regex語法](http://us.php.net/manual/en/regexp.reference.delimiters.php)有多熟悉?要麼使用模式本身不太可能發生的分隔符,例如'#',或者在模式中轉義'/'的每個實例。 – DCoder
編寫這個正則表達式的人,混淆了'['和'('(除了各種其他問題)「,例如:'[../?]*''應該可以讀爲'(\\。\\ ./)*' ,即「多次出現'../'」 – mvds