我创建了一个博客(用于编码练习)。我使用富文本编辑器(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标记?
答案 0 :(得分:7)
仅供参考:文字产生的结果与标签相同......但我得到了答案,这有效:
string strHTML = "<p>Hello World!</p>";
Label.Text = Server.HtmlDecode(strHTML);
答案 1 :(得分:6)
HTML 是格式化,因此要让文本显示您希望如何将文本作为HTML 插入页面而不是插入文本进入Label.Text - 它将被视为纯文本并显示所有标记。
因此,不要使用Literal创建Label:
<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
,以确保将所有<
和>
代码转换回<
}和>
。
答案 2 :(得分:-1)
我不明白。 你的意思是,当你检查帖子时,你会得到类似的东西:
<b>there was</b> once a fox that lived...
以.html格式保存它可能是一个好主意,因为RTF从未用于互联网。 听起来你首先不需要使用数据库。 XML更适合这种任务。