从文本中删除超链接,但保留锚文本
本文关键字:文本 保留 超链接 删除 | 更新日期: 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());
});
假设您在客户端执行此操作。
我一直在尝试做同样的事情,并找到了以下解决方案:
- 将文本导出为CSV。
- 在Excel中打开文件
- 使用<*>它将删除链接并留下锚文本。
- 重新导入结果以覆盖现有内容。