JS RegEx在一行中查找并替换所有html链接

时间:2018-11-30 13:30:52

标签: javascript regex

我很难在js中创建正则表达式来查找,提取和替换所有html链接标记为纯文本链接。

我的JS看起来像这样:

var str = value.replace(/<a .*href="([^\'\"]+).*?<\/a>/g, "$1");

这是我拥有的value字符串:

<a href="http://google.com" target="_blank">clicdk here</a> Text to keep! <a href="http://facebook.com" target="_blank">click ffhere</a>

这是我期望得到的: http://google.com Text to keep! http://facebook.com

这是我得到的: http://facebook.com

如果从换行符中插入第二个链接,效果很好,但是问题是我的字符串没有换行符。

请参阅我的无效正则表达式示例here

谢谢。

1 个答案:

答案 0 :(得分:1)

var str = value.replace(/<a *href="([^\'\"]+).*?<\/a>/g, "$1");

尝试一下。参见正则表达式示例here

如果您的字符串是这样的:

 <a class='ss' href="http://google.com" target="_blank">clicdk here</a> Text to keep! <a class='ss' href="http://facebook.com" target="_blank">click ffhere</a>

然后尝试一下

var str = value.replace(/<a .*? *href="([^\'\"]+).*?<\/a>/g, "$1");

请参见正则表达式here