【发布时间】:2011-07-26 16:26:38
【问题描述】:
我正在我的一个解决方案中创建邮件,并且需要从给定的 html 页面提供 html 和纯文本邮件。
但是,我还没有找到任何真正的好方法来从客户可能提供的任何 html 模板中去除 html、js 和 css。
是否有任何简单的解决方案,也许是处理所有这些的组件,或者我需要用正则表达式开始拼图?甚至可以为所有可能的标签创建一个防弹的正则表达式吗?
问候
【问题讨论】:
我正在我的一个解决方案中创建邮件,并且需要从给定的 html 页面提供 html 和纯文本邮件。
但是,我还没有找到任何真正的好方法来从客户可能提供的任何 html 模板中去除 html、js 和 css。
是否有任何简单的解决方案,也许是处理所有这些的组件,或者我需要用正则表达式开始拼图?甚至可以为所有可能的标签创建一个防弹的正则表达式吗?
问候
【问题讨论】:
您可能会发现Html Agility Pack 对您的情况有所帮助。
【讨论】:
试试HtmlAgilityPack。它具有从 HTML 文档中提取文本的方法。
您基本上只需要执行以下操作:
var doc = new HtmlDocument();
doc.LoadHtml(htmlStr);
var node = doc.DocumentNode;
var textContent = node.InnerText;
【讨论】:
在此页面中,您可以找到一种非常快速的算法来从字符串输入中去除 HTML。尽管无效 HTML 存在一些问题,但它仍然是一个很好的资源。 http://www.dotnetperls.com/remove-html-tags
【讨论】:
看看这里:HTMLAgilityPack parse in the InnerHTML。有一个答案如何使用Html Agility Pack
【讨论】:
作为可以剥离html的组件:Html Agility Pack
【讨论】: