我正在尝试创建一个书签,允许我操作一些网址,以便在新的CMS中快速切换内容编辑视图和制作。
目前,我能够用CMS版本替换URL的乞讨字符串,这很棒。但是,我还需要能够删除" .html"在弦乐的最后,这是我正在努力的。
我现在有什么
以下是我当前的书签:
<a href="javascript:(function(){window.location=window.location.toString
().replace(/^http(.*)\/en\//,'https://cms.ca/en_lg/').replace(/^https:(.*)
\/fr\//,'https://cms.ca/fr_lg/');})();">Switch - CMS</a>
使用上面的书签,我可以执行以下操作(我删除了前面的&#39; h&#39;因为它们不是真正的链接。):
改变这一点:
对此:
我想做什么
改变这一点:
对此:
请注意,字符串末尾的 .html 已被删除。
这可以用一种替换方法吗?如果是这样,我是否还可以将检查/ en_lg /或/ fr_lg /的事实合并到一个表达式中?
非常感谢任何帮助!
答案 0 :(得分:0)
如果可以忽略/ en_lg /和/ fr_lg /:
.replace(/^http:\/\/www.webby.yay.com\/(.*)\.html$/,'https://cms.ca/$1')
例如:
"http://www.webby.yay.com/en_lg/folder/anotherfolder/anotherfolder/page.html".replace(/^http:\/\/www.webby.yay.com\/(.*)\.html$/,'https://cms.ca/$1')
给出
"https://cms.ca/en_lg/folder/anotherfolder/anotherfolder/page"
答案 1 :(得分:-1)
是的,您可以使用捕获组将这两种或三种替换方法合并为一种:
window.location.toString().replace(/^http:\/\/.*?\/(en|fr)(.*?)(\.\w+)?$/, 'https://cms.ca/$1_lg$2')
演示:
var url = "http://www.webby.yay.com/en/folder/anotherfolder/anotherfolder/page.html"
console.log(url.replace(/^http:\/\/.*?\/(en|fr)(.*?)(\.\w+)?$/, 'https://cms.ca/$1_lg$2'))