【问题标题】:Encoded HTML to Decode But it's not correct formatting [closed]编码 HTML 以解码但格式不正确 [关闭]
【发布时间】:2014-05-27 15:59:26
【问题描述】:

我从数据库中获取了一些编码的 html。在获取时我在某处解码了该 html。但粗体/斜体和其他格式未显示,仅显示文本。

我的代码

    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();

【问题讨论】:

  • 你的代码去掉了格式,你为什么希望它显示?
  • 没有。我在这里只显示第一行代码。
  • 一共有三行代码,第三行去掉了所有的格式。

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


【解决方案1】:

您的 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>

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

Text can be bold or italic.

【讨论】:

  • 请详细说明...
  • 我们不能直接做吗?除了使用正则表达式?
猜你喜欢
  • 2020-11-22
  • 1970-01-01
  • 2012-12-01
  • 2018-09-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多