gpt4 book ai didi

c# - 简单的文本到 HTML 转换

转载 作者:太空狗 更新时间:2023-10-29 13:32:48 24 4
gpt4 key购买 nike

我有一个非常简单的 asp:textboxmultiline属性启用。然后我只接受来自文本框的文本,没有标记。是否有一种通用的方法可以将换行符和回车符转换为 <p><br/>标签?

我不是在寻找任何惊天动地的东西,但同时我不只是想做这样的事情:

html.Insert(0, "<p>");
html.Replace(Enviroment.NewLine + Enviroment.NewLine, "</p><p>");
html.Replace(Enviroment.NewLine, "<br/>");
html.Append("</p>");

如果一行中有超过 2 个换行符,上面的代码不能正常工作,因为在生成正确的 html 时。有类似 <br/></p><p> 的 html不好; <br/>可以删除。

最佳答案

我知道这是旧的,但经过一番搜索我找不到更好的东西,所以这是我正在使用的:

public static string TextToHtml(string text)
{
text = HttpUtility.HtmlEncode(text);
text = text.Replace("\r\n", "\r");
text = text.Replace("\n", "\r");
text = text.Replace("\r", "<br>\r\n");
text = text.Replace(" ", " &nbsp;");
return text;
}

如果由于某种原因您不能使用 HttpUtility,那么您将不得不以其他方式进行 HTML 编码,并且有很多小细节需要担心(不仅仅是 <>&)。

HtmlEncode 只为您处理特殊字符,因此之后我将任何回车和/或换行组合转换为 BR 标记,并将任何双空格转换为单空格加 NBSP。

您可以选择在最后一部分使用 PRE 标记,如下所示:

public static string TextToHtml(string text)
{
text = "<pre>" + HttpUtility.HtmlEncode(text) + "</pre>";
return text;
}

关于c# - 简单的文本到 HTML 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3991840/

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