我使用了CKEditor ASP.NET版本并调整到我的写作空间。单击btn_Post
按钮时,应在此编辑器字段中发布书面文本。我想在C#中获取此文本,因为要保存在数据库中。所以我搜索了如何使用(here)并找到了使用HtmlEncode的方法。这是我发现的代码。
<div>
<CKEditor:CKEditorControl ID="CKEditor1" BasePath="/ckeditor/" runat="server">
</CKEditor:CKEditorControl>
</div>
<div style="margin-top:10px; float:right;">
<asp:button ID="btn_Post" runat="server" Text="등록하기" CssClass="btn_Post" onclick="btn_Post_Click" />
</div>
string str = CKEditor1.Text;
string str1 = Server.HtmlEncode(str);
string str2 = Server.HtmlDecode(str);
//str = <p>1234</p>\r\n
//str1 = <p>1234</p>\r\n
//str2 = <p>1234</p>\r\n
但问题是,我需要保存没有HTML代码的文本。如您所见,所有变量都显示html代码。如何将此结果更改为纯文本1234
?
答案 0 :(得分:0)
您可以使用此方法
public static string RemoveHTMLTags(string content)
{
var cleaned = string.Empty;
try
{
string textOnly = string.Empty;
Regex tagRemove = new Regex(@"<[^>]*(>|$)");
Regex compressSpaces = new Regex(@"[\s\r\n]+");
textOnly = tagRemove.Replace(content, string.Empty);
textOnly = compressSpaces.Replace(textOnly, " ");
cleaned = textOnly;
}
catch
{
//A tag is probably not closed. fallback to regex string clean.
}
return cleaned;
}
或使用HTML Agility Pack删除所有HTML标记。