我想在字符串中搜索url()
的所有匹配项,并根据内容替换内容。
例如,有这些不同的网址内容:
url("assets/images/pic.jpg")
url('assets/images/pic.jpg')
url("../images/pic.jpg")
url(../images/pic.jpg)
url('../images/pic.jpg')
url('http://website.com/images/pic.jpg')
和一个应该插在前面的链接 网址,取决于内容:
link = "file://dir/first/"
如果网址前面有../
,则应将其删除
和链接应该在它前面。
如果前面有http://
,则应删除所有http-link,
除了最后的fil和链接应该插在前面:
因此,以下链接应转换为:
url('http://website.com/images/pic.jpg')
url("file://dir/first/pic.jpg")
问题是,有时链接介于"
,'
或无。
我只知道如何替换../-things
response=response.replace(/url\(\'\.\.\//g, "url('"+link);
response=response.replace(/url\(\"\.\.\//g, 'url("'+link);
response=response.replace(/url\(\.\.\//g, "url("+link);
有人知道解决方案吗?
谢谢!
答案 0 :(得分:0)
如果您想触及前两个陈述,可以试试这个。
string.replace(/(url\(['"]?)(?:\.\.\/|http:\/\/[^)]*\/)?/g, "$1" + link);
如果您不想触摸前两个,请删除最后一个存在的可选量词?
。
string.replace(/(url\(['"]?)(?:\.\.\/|http:\/\/[^)]*\/)/g, "$1" + link);