Javascript-在引号regex中包装链接

Javascript-在引号regex中包装链接,javascript,regex,quotes,Javascript,Regex,Quotes,我正在用标签包装所有URL,但因为我开发了应用程序风格的网站,我需要用特定属性替换所有内部URL 因此: href="http://domain.com/page/details" 应该成为 data-bind="page: '/page/details'" 问题是,仅仅替换开头是不够的,因为链接本身应该用引号括起来,以便以后进行javascript处理。此外,我还想介绍一些情况,如www.domain.com和domain.com 更新 这是最简单的。我不是要求url检测正则表达式,我已经

我正在用标签包装所有URL,但因为我开发了应用程序风格的网站,我需要用特定属性替换所有内部URL

因此:

href="http://domain.com/page/details"
应该成为

data-bind="page: '/page/details'"
问题是,仅仅替换开头是不够的,因为链接本身应该用引号括起来,以便以后进行javascript处理。此外,我还想介绍一些情况,如www.domain.com和domain.com

更新

这是最简单的。我不是要求url检测正则表达式,我已经涵盖了所有这些

我所需要做的就是用匹配当前域的url更改href的前面部分,如我在示例中所示,然后用单引号包装url的其余部分


我知道如何简单地更换前部href=http://domain.com 进入data bind=page:,但我如何将剩余的url/page/details或换句话说,直到第一个双引号之前的所有文本都用单引号括起来。

与其更改链接,不如让链接处理程序更智能

保留您的链接:

<a href="http://example.com/path/to/thing">what</a>

如果禁用javascript,这还有一个额外的好处,那就是可以优雅地后退。

类似这样的情况如何:

var newString = string.replace(/href="http:\/\/domain\.com(\/[^"]*)"/g, "data-bind=\"page: '$1'\"");

将正则表达式与URL一起使用将是一个错误——一个其他人和开发人员都没有去过的黑洞——仍然不存在。你可以试试这些,你需要提供你想要的具体细节,而不仅仅是一个例子和模糊的措辞。您还应该展示您所做的尝试,我们不是来为您编写代码的,我们是来帮助您修复代码的。请参阅更新。希望这能澄清我的问题。我不知道我还能怎么称呼一个应用风格的网站,也许与ember.js比较会有所帮助?其背后的想法是,如果没有javascript,该网站将无法使用,我现在使用的解决方案是捕获链接的点击,但它需要使用$'body'。点击时,'a',因为几乎html的所有部分在浏览时都会不断变化。这正是我所寻找的!非常感谢你。
var newString = string.replace(/href="http:\/\/domain\.com(\/[^"]*)"/g, "data-bind=\"page: '$1'\"");