首页 >后端开发 >C++ >如何高效地删除字符串中的所有 HTML 标签?

如何高效地删除字符串中的所有 HTML 标签?

DDD
DDD原创
2025-01-05 11:53:41759浏览

How Can I Remove All HTML Tags from a String Efficiently?

在不指定标签的情况下从字符串中剥离 HTML

问题:

如何轻松地从字符串中删除所有 HTML 标签,无论具体标签如何涉及?

示例:

考虑以下富含 HTML 的字符串:

string title = "<b>Hulk Hogan's Celebrity Championship Wrestling     <font color=\"#228b22\">[Proj # 206010]</font></b>     (Reality Series,)

理想情况下,我们希望输出为是:

"Hulk Hogan's Celebrity Championship Wrestling [Proj # 206010] (Reality Series)"

解决方案:

正则表达式方法:

一种有效的解决方案利用正则表达式:

public static string StripHTML(string input)
{
   return Regex.Replace(input, "<.*?>", String.Empty);
}

此正则表达式匹配尖括号中包含的任何字符串 (

HTML Agility Pack:

或者,您可以利用 HTML Agility Pack 库:

HTMLDocument doc = new HTMLDocument();
doc.LoadHtml(input);
string stripped = doc.DocumentNode.InnerText;

该方法解析HTML字符串,只返回文本内容,不包括所有标签和

注意事项:

虽然这些方法可以有效地删除 HTML 标签,但它们也有局限性:

  • 正则表达式方法可能会错过一些复杂的内容HTML 结构。
  • HTML Agility Pack 对于大型 HTML 可能会较慢文件。

根据您的具体要求和权衡选择合适的解决方案非常重要。

以上是如何高效地删除字符串中的所有 HTML 标签?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn