【发布时间】:2011-10-03 02:32:06
【问题描述】:
我想从 CSS 文件中找到所有图片的链接。
例如
background-image: url(images/abc123.jpg);
我找到了一个名为 CSS parser 的 PHP 类,但它似乎没有非常大的 API。有没有更好的 CSS 解析器?
我也需要能够在提取文件后修改文件中的链接。
谢谢。
【问题讨论】:
-
可以使用 preg_match 和 preg_replace 吗?对于这种情况,应该是一个非常简单的正则表达式。
-
唯一的问题是,在 CSS 中指定图片 url 有很多不同的方法。我希望有一个很好的解析器可以为我完成所有的艰苦工作。
-
实际上并没有那么多。每张图片都以 .jpg、.gif 或 .png 结尾,对吗?所以你的正则表达式就像 /(.*\.[png|gif|jpg]/
-
是的,但可能是
background-image: url(image.jpg);或background-image: url('image.jpg');或background-image: url("image.jpg");或background: #ffffff url('image.jpg')或... 你明白我的意思了吗?情节变厚了。 -
是的,这是真的,但我想从开头的括号开始。你不需要颜色,所以它们会被忽略,但是我的意思是,最好是一个花哨的 css 解析器来为你做这件事,但作为最后的手段,我很确定正则表达式不会那么难。