【发布时间】:2020-02-09 14:18:11
【问题描述】:
我有一个要求,我需要从标签汤的一大块 HTML 中去除所有标签,基本上是这样的:
<div style=""><span style=""><p style=""><div style=""><span style="">
等等
我需要把它们全部去掉,除了<p>标签,但在那些我需要去掉style=""之类的属性并将它们保留为<p></p>。
我目前正在使用正则表达式剥离所有标签:
public static string StripHtml(string input) => Regex.Replace(input, "<.*?>", string.Empty)
关于如何做到这一点的任何想法?
我会为此使用定制的 C# 库,但我在 Linux 上使用 .Net Core,因此许多需要完整框架的库(例如 AngleSharp)对我不起作用。
【问题讨论】:
-
无论你做什么,don't
-
@CeeMcSharpface 我了解使用正则表达式解析 HTML 的缺点,这不是我的首选,但我正在使用的需要解析的
strings 大小有限且格式正确结构上。我们说的是一次最多 1k 字节的 HTML,带有适当的开始和结束标签。
标签: c# parsing asp.net-core .net-core asp.net-core-mvc