我想抓住一個大的CSS文件中的所有網址。正則表達式在10kB變量 - >來自服務器的空響應
我嘗試使用此正則表達式:
preg_match_all("/url\('(\\'|[^'])*'\)/m", $css, $matches);
$css
是一個10KB的變量,使用file_get_contents
一個CSS文件中讀取。
$matches
是一個空數組。
但是,這會導致chrome中出現(net::ERR_EMPTY_RESPONSE)
錯誤:服務器不會發送任何數據。如果我在這行之前返回函數,一切正常。如果我返回該行下面的函數,我會得到一個空的響應。
它甚至不會發送我在該行之前輸出的數據,它會在幾秒內響應(空響應) - 遠不是30秒超時。
當我第一次使用這個正則表達式,並將輸出傳遞給上面的代碼時,它工作得很好。 preg_match_all("/@font-face{[^}]+}/m", $css, $matches);
那一行是在我意識到我需要其他網址之前 - 不僅是字體。
有沒有人有任何想法出了什麼問題?
更新: 難道是這個錯誤?
https://bugs.php.net/bug.php?id=62049
鏈接:
http://codepad.org/FmlJi8N9
和快速谷歌搜索後:
Warning: preg_match(): Internal pcre_fullinfo()
我該如何解決這個問題?
嘗試匹配行,網址應不會流傳兩行。 –
服務器日誌給你任何提示? – Orangepill
在日誌中沒有找到任何東西。另外,'explode(PHP_EOL,$ subject);'和'foreach'沒有解決它。 –