从文本中删除超链接,但保留锚文本

本文关键字:文本 保留 超链接 删除 | 更新日期: 2023-09-27 17:49:30

我需要从文本体中剥离链接标记,但保留锚文本。例如:

<a href ="">AnchorText</a>

需要变成:

AnchorText

我正在考虑使用以下RegEx:

<(.{0}|/)(a|A).*?>

是一个RegEx最好的方式去做这个吗?如果是这样,上面的RegEx模式是否足够?如果RegEx不能解决问题,那么还有什么更好的解决方案呢?

从文本中删除超链接,但保留锚文本

您的正则表达式将完成这项工作。你可以把它写得更简单一点:

</?(a|A).*?>

/?表示0或1 /

但是它相当于你的(.{0}|/)

你可以直接使用htmllagilitypack:

string sampleHtml = "<a href ='"'">AnchorText</a>";
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(sampleHtml);
string text = doc.DocumentNode.InnerText; //output: AnchorText

我认为regex是完成此任务的最佳方法,并且您的模式看起来应该可以工作。

使用jQuery replaceWith:

$('a').replaceWith(function()
{
    return $('<span/>').text($(this).text());
});

假设您在客户端执行此操作。

我一直在尝试做同样的事情,并找到了以下解决方案:

  1. 将文本导出为CSV。
  2. 在Excel中打开文件
  3. 使用<*>它将删除链接并留下锚文本。
  4. 重新导入结果以覆盖现有内容。