如何通過正則表達式在C#中清理HTML特殊標記?如何通過C#中的Regex從任何特殊標記中清除HTML?
下面是一個簡單的HTML,其中Ineed刪除<font size="-2">
R&usg=AFQjCNFYiDC6u3xOGn4JpO-GF83PjdSbtw&url=http://online.wsj.com/article/SB10000872396390444426404577647060576633348.html"><img src="//nt2.ggpht.com/news/tbn/bm6jvTMtF-PpnM/6.jpg" alt="" border="1" width="80" height="80" /><br /><font size="-2">Wall Street Journal</font></a></font>
</td>
我知道我們必須以某種方式使用正則表達式,但我想不出我們如何使用它。
我試圖調整此方法,但它清除所有標記。
public string Strip(string text)
{
return Regex.Replace(text, @」<(.|\n)*?>」, string.Empty);
}
其實我期待一些方法來做這樣
public string Strip(string text, HTMLTags.Font)
{
}
其中HTMLTags.Font
是一些HTML標籤的
enum HTMLTags
{
Font,
Div,
Td
...
}
謝謝你的任何線索,一個枚舉! !
標準答案:不要使用正則表達式的HTML,使用SgmlReader或HTML敏捷性包。 –
真正簡單(並且靈活)的方法是將標記名放在正則表達式中的第一個<<之後。 – Matthew
@Mthethew但是如果標籤看起來像FONT Font字體呢? – Terminador