【问题标题】:How do I get this HTML to display formatted, without tags?如何让这个 HTML 显示格式化,没有标签?
【发布时间】:2011-12-18 00:48:06
【问题描述】:

我创建了一个博客(用于编码练习)。我使用富文本编辑器(ckeditor)并将帖子保存到数据库中。当我拉出帖子以显示在 Label.Text 中时,它会显示所有 HTML 标记:

<p><strong>there was</strong> once a fox that lived</p>
<p> in the<span style="color: #ff0000"> woods</span></p>

如何以正确的格式(段落、颜色等)显示帖子,但没有 HTML 标记?

【问题讨论】:

  • 请确认您的输出中没有填充&amp;gt;&amp;lt;
  • Justin808:您好,该页面根据我的原始帖子逐字显示/显示 HTML 标签。但是当我查看源代码时,所有的 都替换为 &gt 和 &lt。如何让浏览器读取 HTML 标签,而不是使用 &gt 并忽略标签?
  • nanonerd:请参阅下面 ChrisF 的答案。您需要使用asp:Literal,而不是asp:Label

标签: html asp.net ckeditor label rich-text-editor


【解决方案1】:

仅供参考:文字产生的结果与标签相同......但我得到了答案,这有效:

string strHTML = "<p>Hello World!</p>";
Label.Text = Server.HtmlDecode(strHTML);

【讨论】:

    【解决方案2】:

    HTML 格式,所以要让文本显示你想要的方式,你需要将文本 as HTML 插入到你的页面中,而不是插入文本进入 Label.Text - 它将被视为纯文本并显示所有标记。

    因此,与其创建标签,不如使用文字:

    <asp:Literal runat="server" ID="EditorOutput">
    

    然后在你的页面加载:

    protected void Page_Load(object sender, EventArgs e)
    {
        EditorOutput.Text = theText;
    }
    

    theText 将是字符串:

    <p><strong>there was</strong> once a fox that lived</p> <p> in the<span style="color: #ff0000"> woods</span></p>
    

    从您的数据库中读取。

    如果您的字符串是Encoded,则必须调用Server.HtmlDecode,以确保将任何&amp;lt;&amp;gt; 代码转换回&lt;&gt;

    Source

    【讨论】:

      【解决方案3】:

      我不明白。 你的意思是,当你检查帖子时,你会得到类似的东西:

      <b>there was</b> once a fox that lived...
      

      将它保存为 .html 格式可能是个好主意,因为 RTF 从来都不是用于互联网的。 听起来您一开始就不需要使用数据库。 XML 更适合这种任务。

      【讨论】:

      • 他没有使用富文本格式,而是使用“富”文本编辑器(即所见即所得编辑器)来生成 HTML 标记。至于不使用数据库来支持 XML 文件:什么?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-12
      • 2020-04-26
      • 2018-04-14
      • 1970-01-01
      • 1970-01-01
      • 2018-01-22
      • 2016-12-18
      相关资源
      最近更新 更多