javascript - 替换 HTML 字符串中的所有 <a> 标记

标签 javascript html regex

假设我有一个 HTML 字符串,其中包含一些 <a href="..">标签。我怎样才能替换所有这些来翻译这个:

<a href="http://www.mylink.com">whatever</a>

进入此:

<a href="#" onclick="openLink('http://www.mylink.com')">whatever</a>

有什么想法吗?

最佳答案

您可以在字符串上使用此正则表达式:

var re = new RegExp("<a href=\"([^\"]+)\"", "g");
  result = 
    string.replace(re, 
      "<a href=\"#\" onclick=\"openLink('$1')\"");

http://regex101.com/r/wN0aB2


更新
要考虑 href 之前的属性,您可以使用:

var re = new RegExp("<a([^>]* )href=\"([^\"]+)\"", "g");
  result = 
    string.replace(re, 
      "<a$1href=\"#\" onclick=\"openLink('$2')\"");

http://regex101.com/r/bZ0nO4

关于javascript - 替换 HTML 字符串中的所有 <a> 标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23161032/

相关文章:

javascript - 尝试对单个路径使用多个组件

javascript - jQuery 全局 Ajax 事件处理程序的用例?

javascript - 跳过隐藏的标签索引

php - 如何用php显示xml内容

Python - 用句点替换括号并删除第一个和最后一个句点

javascript - Angular : Access resource value in controller

javascript - JQuery/CSS : Append div using mouse coords and position: absolute

html - 'align-items-end' 如何在图像上叠加多个文本元素同时保持 block 状态

mysql:比较两列

c# - 关于python正则表达式的两个问题