我正在尝试在一个大的 css 文件中获取所有 url。
我尝试使用这个正则表达式:
preg_match_all("/url\('(\\'|[^'])*'\)/m", $css, $matches);
$css
是一个 10kB 的变量,使用 . 从 css 文件中读取file_get_contents
。
$matches
是一个空数组。
但是,这会导致(net::ERR_EMPTY_RESPONSE)
chrome 出现错误:服务器不发送任何数据。如果我在这一行之前返回函数,一切正常。如果我在这一行下方返回函数,我会得到一个空响应。
它甚至不会发送我在该行之前输出的数据,并且它会在几秒钟内响应(响应为空) - 远不及 30 秒超时。
当我第一次使用这个正则表达式时它工作得很好,并将输出传递给上面的代码。
preg_match_all("/@font-face{[^}]+}/m", $css, $matches);
那一行是在我意识到我需要其他 URL 之前——不仅仅是字体。
有谁知道出了什么问题?
更新:可能是这个错误吗?
https://bugs.php.net/bug.php?id=62049
链接到:
http
://codepad.org/FmlJi8N9
和快速谷歌搜索稍后:
警告:preg_match():内部pcre_fullinfo()
我怎样才能解决这个问题?