【问题标题】:How to get text between <a> </a> tags with regex [duplicate]如何使用正则表达式在 <a> </a> 标记之间获取文本 [重复]
【发布时间】:2012-03-10 20:47:31
【问题描述】:

我有这个

<a align="center" href="http://google.com"><b>Google Link<b></b></a>
<a align="center" href="http://yahoo.com"><strong>Yahoo Link</strong></a>

我想要这个

<b>Google Link Yahoo Link</b>

如果有人知道,请帮助我。

【问题讨论】:

  • 为什么要使用正则表达式?只需将 HTML 解析为 DOM 并对其进行修改。
  • 因为我有一个软件并且在软件中我只能插入正则表达式
  • 不要使用正则表达式来解析 HTML:stackoverflow.com/a/1732454/315168 因为你有非常好的 HTML 解析器可用
  • 我找到了这个 (?a[^>]*>)(?[\s\S]?)(?= )

标签: java javascript html ajax regex


【解决方案1】:

根据需要使用 A 元素的 innerTexttextContent 属性:

var theText = aElement.innerText || aElement.textContent;

所有正在使用的浏览器都支持其中一种,有些同时支持。

如果你想用纯文本替换所有链接的内容,你可以这样做:

var link, links = document.links;
for (var i=0, iLen=links.length; i<iLen; i++) {
  link = links[i];
  link.innerHTML = link.innerText || link.textContent;
}

【讨论】:

    【解决方案2】:

    试试

    ​$('a')​.each​(function(){
        $(this).text();
    });​
    

    【讨论】:

    • 由于OP要替换文本,我猜你的函数版本是:$(this).html($(this).text());
    猜你喜欢
    • 2013-04-06
    • 1970-01-01
    • 2015-09-17
    • 2018-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-23
    • 1970-01-01
    相关资源
    最近更新 更多