PHP - 从 CSS 文件中提取图像的所有路径的正则表达式

Posted

技术标签:

【中文标题】PHP - 从 CSS 文件中提取图像的所有路径的正则表达式【英文标题】:PHP - Regular expression to extract all paths to the images from within the CSS file 【发布时间】:2012-06-28 06:59:43 【问题描述】:

我正在尝试查找正则表达式,它将从 css 文件中提取所有路径。我已经搜索过,我能找到的只有这两个帖子,实际上似乎不起作用:

php - extract image paths from css

Why doesn't this PHP regular expression extract the url from the css value?

我想要得到的是这样的数组:

array(0 => 'image/header.gif', 1 => 'image/footer.png') etc.

知道提取它的正则表达式是什么 - 请记住,字符之间可能没有空格,或者 url() 的左括号和右括号之间也可能有额外的空格.

我正在使用以下内容来处理 css 并提取路径(但显然我没有正确的表达式来按照我想要的方式进行操作):

$images = array();                  
if (preg_match_all($regex, $cssContent, $matches)) 
    $images = $matches[1];

【问题讨论】:

您的 css 文件中有示例吗? 嗨 Mellamokb - 任何 css 文件都可以 - 我正在尝试不同的网站和不同的 css 文件。 【参考方案1】:

整理好了。对于那些有兴趣了解的人 - 这是从 css 文件中提取所有图像路径的表达式:

'/url\(\s*[\'"]?(\S*\.(?:jpe?g|gif|png))[\'"]?\s*\)[^;]*?/i'

【讨论】:

【参考方案2】:

我想是这样的:

/url\s*\(\s*['"]([^'"]+)['"]\s*\)/

【讨论】:

以上是关于PHP - 从 CSS 文件中提取图像的所有路径的正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

从 Rails 应用程序的数据库中提取 CSS 资产(如背景图像)?

PHP从文件夹中提取随机图像

使用 PHP 从图像中提取 alt 和/或 title 属性

CSS 文件中的背景图像路径 - Liferay 6.2

从文件路径字符串中提取带有扩展名的文件名

如何使用 PHP 从图像中提取文本