如何在没有 HTML 标签的情况下从数据库中获取数据?

Posted

技术标签:

【中文标题】如何在没有 HTML 标签的情况下从数据库中获取数据?【英文标题】:How to bring the data from the database without the HTML tags? 【发布时间】:2012-08-29 19:58:53 【问题描述】:

我面临以下问题。

我使用文本编辑器允许用户在将数据存储到数据库之前对其进行格式化。

我的问题是从我的数据库中检索数据以将其显示在我的报告(报告查看器)中。数据与html tags 一起出现在一个非常糟糕的视图中!

如何解决这个问题?

我试过这个方法:

Server.HtmlDecode()

但无济于事

【问题讨论】:

报告服务版本? 2008 提供占位符。您可以在标记类型中选择将 html 标记解释为样式。 【参考方案1】:

一种方法是使用正则表达式删除所有 html 标签:

// I use this static method to make it faster.
private static Regex oClearHtmlScript = new Regex(@"<(.|\n)*?>", RegexOptions.Compiled);

public static string RemoveAllHTMLTags(string sHtml)

    if (string.IsNullOrEmpty(sHtml))
         return string.Empty;

    return oClearHtmlScript.Replace(sHtml, string.Empty);

【讨论】:

那么我也会丢失格式?? ,我希望有一些方法可以在不显示标签的情况下保持格式。(以正确的格式呈现文本) 我现在没有代码在我面前,因为我离开了办公室。但我记得它是表格的一个单元格 @just_name 如果你赢了保持 html 格式,你需要禁用你的控件的自动 html 编码,或者使用其他类型的渲染结果,例如使用 Literal 控件。如果您有渲染代码,我们可以看到一些可能的解决方案。 @just_name 看看这个例子:***.com/questions/2168649/…【参考方案2】:

quote: 你试过这个方法 Server.HtmlDecode()

根据您所说的,它首先没有编码,因此可以正常工作。您可以使用解码器 utf8Decoder = Encoding.UTF8.GetDecoder();使用它或转换为 Unicode。

它仍会出现在报告中,但不会产生您所说的巨大影响。

最好的选择是使用正则表达式。

【讨论】:

【参考方案3】:

您可以尝试使用html formatted textbox 来显示该字段。从问题中不清楚它是否是所需的行为,但这实际上会呈现您的用户输入的一些 html 标签(例如&lt;b&gt;)。它不支持所有标签,但我不能 100% 确定如果它不识别标签会做什么(它可能只是忽略/隐藏它)。

编辑:正如@varg 对问题的评论提醒我,可用性取决于您的 s-s-rS 版本。

【讨论】:

以上是关于如何在没有 HTML 标签的情况下从数据库中获取数据?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在不创建视频标签的情况下从 URL 获取 MediaStream

如何在没有额外分配的情况下从 OpenCV 矩阵中获取图像数据?

如何在不提交 HTML 表单的情况下从数据库中获取数据? [复制]

如何在不使用自动模型表单的情况下从 Django 的文本框中获取数据?

如何在没有 Linq 的情况下从列表中获取一些对象?

如何在没有 EntityDataSource 的情况下从 SQL Server 获取数据到 DevExpress FileManager