gpt4 book ai didi

php - 替换 CSS url() 的?

转载 作者:行者123 更新时间:2023-11-28 13:35:19 25 4
gpt4 key购买 nike

假设我有一个字符串 $my_css_string,我们知道它包含 CSS 样式。

现在假设我有一个函数 string url_replace(string $url) 返回一个修改后的 URL,我想用 $ 替换每个 url() my_css_string.

因此,为了简单起见,假设 url_replace() 总是返回字符串 "xxxx"

如何遍历 $my_css_string,找到字符串中的每个 url(),并将该 URL 替换为从 url_replace()?


因此,如果您将此 CSS 作为 $my_css_string:

@import url('http://example.com/css/animals.css');
.dog {
background:url("/images/dog.png");
border:1px solid rgb(0,0,128);
}
.cat {
background:url(http://example.com/images/cat.gif);
}

如果您运行代码,$my_css_string 将变为:

@import url('xxxx');
.dog {
background:url( "xxxx" );
border:1px solid rgb(0,0,128);
}
.cat {
background:url(xxxx);
}

请注意它需要如何处理多种定义 URL 的方式。

我该怎么做?

最佳答案

您想使用 preg_replace_callback :

$my_new_css_string = preg_replace_callback(
'/background-image:\s*url\(\s*([\'"]*)(?P<file>[^\1]+)\1\s*\)/i',
'url_replace',
$my_css_string);

关于php - 替换 CSS url() 的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9997486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com