如何将 C# 循环中的 html 编辑文本转换为页面上的完全格式化文本

Posted

技术标签:

【中文标题】如何将 C# 循环中的 html 编辑文本转换为页面上的完全格式化文本【英文标题】:how do i convert html edited text in C# loop to fully formatted text on the page 【发布时间】:2021-12-10 02:46:29 【问题描述】:

我有一个字符串列表,我想在 cshtml 页面(Asp.net C#)中显示,问题是我不想在我的文本中包含 html 标记,我想在我运行时在页面上显示格式化的文本网站。 输出为:<p><strong>some </strong><i>data</i></p> 它应该是:一些 数据

这是cshtml页面中的C#代码:

@foreach (var item in Model)
        
            <div>@item.content</div>
        

【问题讨论】:

文档中指出的code 标签不起作用? developer.mozilla.org/en-US/docs/Web/HTML/Element/code 【参考方案1】:

您需要使用Html.Raw(),以便它在HTML 中呈现为IHtmlString,而不是string

<div>@Html.Raw(item.content)</div>

渲染的 HTML

<div><p><strong>some </strong><i>data</i></p></div>

【讨论】:

感激不尽,谢谢。【参考方案2】:

您可以使用正则表达式将 HTML 代码和标签替换为空文本。 Click here to verify regex

@foreach (var item in Model)

    <div>@Regex.Replace(item.content, "<.*?>", String.Empty)</div>

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于如何将 C# 循环中的 html 编辑文本转换为页面上的完全格式化文本的主要内容,如果未能解决你的问题,请参考以下文章

C# 中的 HTML 到文本电子邮件转换器

c#如何使一个文本框变为不可编辑?但是又可以复制里面的数据?

如何将上标字符转换为 C# 字符串中的普通文本

如何将 For 循环结果转换为数组,然后在 C# 中计算结果数组的整数?

rtf文本格式如何转换html格式(c#代码实现)

如何在 C# 中将 HTML 设置为剪贴板?