编码HTML解码但格式不正确

时间:2014-05-27 15:59:26

标签: c# html asp.net html5 c#-4.0

我从数据库中获取了一些编码的html.While获取我在某处解码了那个html.But Bold / Italic&其他格式未显示,仅显示仅文本。

我的代码

    string a = da.GetLeftPanelData();//<-- in here Encoded html comes like &lt;p style=&quot;text-align: justify;&quot;&gt;

    string b = WebUtility.HtmlDecode(a);
    mypanel.InnerText = Regex.Replace(b, @"<[^>]+>|&nbsp;", "").Trim();

1 个答案:

答案 0 :(得分:2)

您的Regex.Replace调用会删除所有HTML标记,因此会删除所有格式信息。

<强>精化

假设从数据库中读取的字符串a为:

&lt;p&gt;Text can be &lt;b&gt;bold&lt;/b&gt; or &lt;i&gt;italic&lt;/i&gt;.&lt;/p&gt;

然后解码后的字符串b为:

<p>Text can be <b>bold</b> or <i>italic</i>.</p>

正则表达式模式匹配<的每次出现,后跟一些字符,后跟>。因此,Regex.Replace调用会将每个HTML标记(例如<p><b></i>)替换为空字符串,myPanel.InnerText变为:

Text can be bold or italic.