2016-05-24 143 views
0

我想使用preg_replace替換大型HTML文檔中的某些noscript標籤,我使用的正則表達式如下。PHP preg_replace函數導致net :: ERROR_CONNECTION_RESET

$regex = '/<noscript><iframe(.?)+width="'.$width.'"(.?)+height="'.$height.'"(.?)+<\/iframe><\/noscript>/m'; 
$html = preg_replace($regex, $customTag, $html); 

它不斷地重置到我的服務器的連接。我究竟做錯了什麼?

+0

檢查你的PHP日誌,我不明白爲什麼'preg_replace()'會重置你的連接。如果你的文件很大,請檢查php_ini值'max_execution_time'和'memory_limit'。 – Charleshaa

+0

已經做了,最大執行時間是120秒,內存限制是520M,它沒有工作。 – Anfal

+0

嘗試使用'(。+?)'而不是'(。?)+' –

回答

0

你應該改變(.?)+(.+?)

  • (.+?)將匹配的ungreedy方式的任何字符(除換行符)。