如何让这个 HTML 显示格式化,没有标签?

Posted

技术标签:

【中文标题】如何让这个 HTML 显示格式化,没有标签?【英文标题】:How do I get this HTML to display formatted, without tags? 【发布时间】: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 【参考方案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 文件:什么?

以上是关于如何让这个 HTML 显示格式化,没有标签?的主要内容,如果未能解决你的问题,请参考以下文章

如何让在Html中特殊字符不被转义

如何在没有 HTML 标签的情况下从数据库中获取数据?

Html—让textarea标签中的内容原格式输出的两种办法

如何在文本区域内显示 HTML 格式? [复制]

Notepad++ 、editplus中如何对 HTML/CSS/JS 格式化?

如何将格式化的 HTML 添加到 Mysql [关闭]