我需要解析一个 CSS 文件,并将类似声明中的图像路径更改为以下内容?
url("/images/...")
基本上更改 url("")
我要替换
url('images/img.jpg'), url("images/img.jpg")
和
url(images/img.jpg)
对于 url(/newpath/images/img.jpg)
我需要以某种方式获取当前路径,以便我可以将其附加到新路径
最佳答案
你可以这样做:
$line = "background-image: url(/images/image.png) no-repeat;";
//or $line = "background-image: url( /images/image.png ) no-repeat;";
echo preg_replace('/(?<=url\()[^\)]+(?=\))/x', '/newfolder/newimage.png', $line);
正则表达式说:
-
[^\)]+
1 个或更多字符的字符串,没有)
-
(?<=url\()
在这个字符串之前,必须有url(
-
(?=\))
字符串后必须有)
-
x
模式中的空白数据字符被完全忽略,除非转义或在字符类 ( more info) 内。
关于php - 在 PHP 中解析 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7344828/