php - 在 PHP 中解析 CSS

标签 php css parsing

我需要解析一个 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/

相关文章:

php - SOAP 请求中的 ns1 和 tem 不匹配会影响请求吗?

php - 我无法弄清楚 mysql 更改列语法

javascript - 更改负数的字体 css

c - C 解析器无法读取单项数组 json feed

php - 在 cakephp 3 中找不到类 'Router'

php - 根据表设置列出表内容(php/mysql)

css - 浏览器兼容性布局居中之战 : IE and Mozilla

css - 文本阴影 css3 动画/过渡不工作

用于递归下降解析的 C++ n 元树实现

Linux CLI 时间戳解析