将HTML特殊实体替换为自定义字符串的最有效方法

本文关键字:字符串 有效 方法 自定义 HTML 实体 替换 | 更新日期: 2023-09-27 18:18:03

我想将所有的HTML特殊实体,如> <替换为自定义字符串。

假设我有以下字符串:

string str = "<div>&gt;hello&lt;</div>";

和方法:Method(string str, string replaceStr)

调用Method(str, ":)")后结果应为

<div>:)hello:)</div>

问题是有太多的特殊字符,我想知道什么是最有效的方法来完成这一点?

编辑:

字符串。Replace不会做我的工作,使用Regex解析HTML不是真正的好方法。

在这个问题上可能没有任何干净的解决方案,因此我决定使用以下算法:

  1. 使用有效的HTML特殊字符(如&para;)
  2. 解析文件为字符串数组
  3. 感谢htmllagilitypack解析HTML和获得原始文本和替换所有实体。

我知道这对大的html字符串不是很有效,但它现在应该做的工作。

将HTML特殊实体替换为自定义字符串的最有效方法

您可以尝试:

        string str = "<div>&gt;hello&lt;</div>";
        string output = Regex.Replace(str, "&gt;|&lt;", ":)");

也可以使用HtmlDecode

        string str = "<div>&gt;hello&lt;</div>";
        string output = WebUtility.HtmlDecode(str);