解码HTML字符串,其中“与”符号编码为x26

本文关键字:符号编码 x26 HTML 字符串 其中 解码 | 更新日期: 2023-09-27 18:28:24

我从html中得到了一个字符串,比如:

var htmlStr = " ''x26lt;span''x26gt; ''x26lt;/span''x26gt;";

我无法将其解码为C#字符串,如:

 <span> </span>

如果我将字符串修改为

var htmlStr = " 'x26lt;span'x26gt; 'x26lt;/span'x26gt;";

效果很好。但如何通过替换字符串或其他方式来实现呢?

顺便说一句,我用的是编码。

解码HTML字符串,其中“与”符号编码为x26

你这样做

var htmlStr = "''x26lt;span''x26gt; ''x26lt;/span''x26gt;";
// Take out the extra stars
var result = Regex.Replace(htmlStr, @"'*'*([^*]*)'*'*", "$1");   
// Unescape 'x values
result = Regex.Replace(htmlStr,
                @"''x([a-fA-F0-9]{2})", 
                match => char.ConvertFromUtf32(
                    Int32.Parse(match.Groups[1].Value, 
                    System.Globalization.NumberStyles.HexNumber)));
// Decode html entities
htmlStr = WebUtility.HtmlDecode(result);

输出为

<span> </span>

此处已回答:如何解码C#中的HTML字符?

简而言之,您可以使用HttpUtility.HtmlDecodeWebUtility.HtmlDecodeTR