替换href链接扩展(如果是本地扩展)
Replace href links extensions if are local
对于不包含http://
和https://
等协议的网页内的链接,我想用JavaScript
替换.html
扩展,以确保它们是本地链接。
我试过这样的东西,但无法正常工作:
字符串
<a href="local/path/to/url.html"> Replace me </a>
<a href="http://external.com/to/url.html"> DON'T replace me </a>
<a href="https://external.com/to/url.html"> DON'T replace me </a>
正则表达式
/href="^(http:|https:)(.*?).html"/gm
我不清楚如何在regex中否定协议,如果我放置它们,则没有匹配的协议。
快到了,你只是错过了负面展望:
href="(?!(?:http:|https:))(.*?).html"
此处演示:http://regex101.com/r/hA4fP1/1
下面的正则表达式将捕获本地url路径。
href="((?:(?!https?:'/'/).)+?)'.html"
演示
(href="(?!http)[^>]*'/.*?)'.html
试试这个。用$1Javascript
替换。请参阅演示。
http://regex101.com/r/hQ1rP0/39
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- 扩展移相器按钮类不工作
- chrome扩展中的navigator.geolocation.getCurrentPosition
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- chrome扩展更改主机/域警告
- 在单击href链接的同时下载文件
- TableExport jquery插件:文件名和扩展名问题
- 如何在chrome扩展中重定向到html页面
- Chrome扩展没有't在重新加载之前考虑期权价值
- 扩展SVGTextElement时出现Typescript Uncaught TypeError
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- Javascript”;类“;带有参数的扩展
- 如果href包含X,请更改href
- 试图阻止Chrome通过扩展关闭
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- 在弹出窗口,背景页面,Chrome扩展程序中访问w.location.href
- 获取 window.location.href 以返回页面名称和扩展名(如果 URL 以 / 斜杠结尾)
- 替换href链接扩展(如果是本地扩展)
- Firebug扩展上下文.sourceCache.load(href)返回'重新加载页面以获取的源代码:http
- 从一个网站到chrome扩展获取href值