在 DataTable 中显示富文本

display rich text in DataTable

我想在DataTable. The text is generated using CKEditor中显示富文本。我的 DataTable 正在使用 jQuery:

呈现
var myTable = $("#_table").DataTable(this.properties);

我参考了官方论坛:Editor: Display Rich Text in Datatable,那里提供的解决方案是这样的:

This is probably caused by the XSS protection that is built into the Editor server-side libraries. If you are happy to allow scripting, you can disable that option.

但我不知道如何禁用它 属性。我尝试了各种方法,但 none 奏效了。

编辑 1: 数据表现在显示的内容的快照:

编辑 2: 在数据表中,文本以字符串格式显示:"<p><h1>abc</h1></p>" 而不是 <p><h1>abc</h1></p>.

我能够弄清楚为什么数据表不会以 rtf 格式显示数据。实际上,CKEditor 生成两种不同格式的文本:

  1. &lt;p&gt;&lt;s&gt;&lt;u&gt;&lt;em&gt;&lt;strong&gt;This is a custom defined task. Now there are further details:&lt;\/strong&gt;&lt;\/em&gt;&lt;\/u&gt;&lt;\/s&gt;&lt;\/p&gt;\n\n&lt;ul&gt;\n\t&lt;li&gt;&lt;span style=\"color:#00ff00\"&gt;&lt;s&gt;&lt;u&gt;&lt;em&gt;&lt;strong&gt;&lt;span style=\"background-color:#ff0000\"&gt;List this is the first&lt;\/span&gt;&lt;\/strong&gt;&lt;\/em&gt;&lt;\/u&gt;&lt;\/s&gt;&lt;\/span&gt;&lt;\/li&gt;\n\t&lt;li&gt;&lt;span style=\"font-size:24px\"&gt;&lt;s&gt;&lt;u&gt;&lt;em&gt;&lt;strong&gt;This second.&lt;\/strong&gt;&lt;\/em&gt;&lt;\/u&gt;&lt;\/s&gt;&lt;\/span&gt;&lt;\/li&gt;\n\t&lt;li&gt;&lt;s&gt;&lt;u&gt;&lt;em&gt;&lt;strong&gt;&lt;span style=\"background-color:#00ff00\"&gt;And maybe a third&lt;\/span&gt;&lt;\/strong&gt;&lt;\/em&gt;&lt;\/u&gt;&lt;\/s&gt;&lt;\/li&gt;\n&lt;\/ul&gt;

HTML 这里的标签是 HTML 个实体的形式。

  1. "<p><s><u><em><strong>This is a custom goal having 3 parts:<\/strong><\/em><\/u><\/s><\/p>\n\n<ul>\n\t<li><span style=\"color:#0000cd\"><s><u><em><strong><span style=\"font-size:28px\"><span style=\"background-color:#ff8c00\">This is the first and the biggest.<\/span><\/span><\/strong><\/em><\/u><\/s><\/span><\/li>\n\t<li><span style=\"color:#ff8c00\"><s><u><em><strong><span style=\"font-size:28px\"><span style=\"background-color:#0000cd\">This is the second amd tte<\/span><\/span><\/strong><\/em><\/u><\/s><\/span><\/li>\n\t<li><span style=\"font-size:26px\"><span style=\"color:#ff8c00\"><s><u><em><strong><span style=\"background-color:#0000cd\">yisohckdskcnk<\/span><\/strong><\/em><\/u><\/s><\/span><\/span><\/li>\n<\/ul>"

HTML 标签被解析。

数据正在从编辑器中以两种形式同时生成。我正在使用 jdbc 从服务器获取数据并使用 Jsoup (Remove HTML tags from a String).

解析它

在默认形式中,第二种格式以 rtf 呈现,而第一种格式编码为 HTML 标签,标签呈现为文本。通过使用 Jsoup 解析一次,第一种格式被编码为 HTML 标签并显示为 rtf,而第二种格式被剥离其标签并显示为没有 HTML 标签的简单文本。

所以,这实际上是 CKEditor 的异常(因为它以两种不同的格式生成文本)而不是数据表的异常。