Javascript—查找字符串中出现的所有括号,并根据括号替换内容';内容
我想在字符串中搜索所有出现的Javascript—查找字符串中出现的所有括号,并根据括号替换内容';内容,javascript,html,regex,replace,find,Javascript,Html,Regex,Replace,Find,我想在字符串中搜索所有出现的url(),并根据内容替换内容 例如,有以下不同的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') 和一个链接,该链接应插入到 url,具体取决于内容: link
url()
,并根据内容替换内容
例如,有以下不同的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')
和一个链接,该链接应插入到
url,具体取决于内容:
link = "file://dir/first/"
如果url前面有。/
,则应将其删除
链接应该在它前面
如果前面有一个http://
,则应删除所有http链接,
除了末端的fil和应在前面插入的连杆外:
因此,应将以下链接转换为:
url('http://website.com/images/pic.jpg')
url("file://dir/first/pic.jpg")
问题是,有时链接位于“
”、“
或无链接之间
我只知道如何替换。/-东西
response=response.replace(/url\(\'\.\.\//g, "url('"+link);
response=response.replace(/url\(\"\.\.\//g, 'url("'+link);
response=response.replace(/url\(\.\.\//g, "url("+link);
有人知道解决办法吗
谢谢!如果您想触摸前两个语句,可以尝试此选项
string.replace(/(url\(['"]?)(?:\.\.\/|http:\/\/[^)]*\/)?/g, "$1" + link);
如果不想触碰前两个,请删除最后一个出现的可选量词?
string.replace(/(url\(['"]?)(?:\.\.\/|http:\/\/[^)]*\/)/g, "$1" + link);
您想触摸前两个吗?非常感谢,这就是我要找的!