我需要从文本正文中删除链接标记,但保留锚文本。例如:
<a href ="">AnchorText</a>
需要变得公正:
AnchorText
我正在考虑使用以下RegEx:
<(.{0}|/)(a|A).*?>
RegEx是最好的解决方法吗?如果是这样,上述RegEx模式是否足够?如果RegEx不是要走的路,那么什么是更好的解决方案?这需要在服务器端完成。
答案 0 :(得分:4)
你的正则表达式将完成这项工作。你可以把它写得更简单
</?(a|A).*?>
/?
表示0或1 /
但它相当于你的(.{0}|/)
答案 1 :(得分:3)
您可以使用HtmlAgilityPack:
string sampleHtml = "<a href =\"\">AnchorText</a>";
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(sampleHtml);
string text = doc.DocumentNode.InnerText; //output: AnchorText
答案 2 :(得分:1)
我认为正则表达式是实现此目标的最佳方式,您的模式看起来应该可以正常工作。
答案 3 :(得分:1)
使用jQuery replaceWith:
$('a').replaceWith(function()
{
return $('<span/>').text($(this).text());
});
假设您在客户端执行此操作。