你好我想替换这个css代码:
background:url("/media/image.png")
我有一个网址
$url3 ="http://example.com";
这是我使用的代码:
preg_replace('~url\(("|\')?/?(.*?)(?:\1)?\)~', 'url($1'.$url3.'/$2$1)', background:url("/media/image.png");
此代码的输出给了我:
background:url("http://example.com/media/image.png")
这就是我想要的,但我的问题是我想为我的正则表达式添加一些条件,例如,如果网址在开始时有//
或http
或https
,则忽略它不会添加http://example.com/。
这是我试过的正则表达式:
~url\(("|\')?/?(.*?)(?:\1)?\)~(((?!'|\"|http://|https://|//).)*)(['\"])-i
但它没有用......
答案 0 :(得分:0)
由于您正在对替换进行硬编码,我认为最简单的方法就是进行另一次检查:
if (false === preg_match("~url\((\"|')(//|https?://)~", $string)) {
// do replacement
}
另请注意,CSS中url()
的参数不需要引用("
或'
)。
答案 1 :(得分:0)
答案 2 :(得分:0)
检查
metricDate