gpt4 book ai didi

c# - C#中如何将HtmlEncode/HtmlDecode转为纯文本?

转载 作者:太空宇宙 更新时间:2023-11-03 15:43:46 25 4
gpt4 key购买 nike

我使用的是 CKEditor ASP.NET 版本并调整到我的写作空间。当点击btn_Post 按钮时,应该在这个编辑器字段中发布书面文本。我想在 C# 中获取此文本,因为要保存在数据库中。所以我搜索了如何使用(here)并找到了使用 HtmlEncode 的方法。这是我找到的代码。

asp

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

CS

string str = CKEditor1.Text;
string str1 = Server.HtmlEncode(str);
string str2 = Server.HtmlDecode(str);
//str = <p>1234</p>\r\n
//str1 = &lt;p&gt;1234&lt;/p&gt;\r\n
//str2 = <p>1234</p>\r\n

但问题是,我需要保存没有 html 代码的文本。如您所见,所有变量都显示 html 代码。如何将此结果更改为纯文本 1234

最佳答案

你可以用这个方法

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 标签。

关于c# - C#中如何将HtmlEncode/HtmlDecode转为纯文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29160106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com