2017-10-13 29 views
0

DataTable에 서식있는 텍스트를 표시하려고합니다. 텍스트는 CKEditor을 사용하여 생성됩니다. 내 DataTable에는 jQuery를 사용하여 렌더링지고 : Editor: Display Rich Text in Datatable의 라인에 뭔가가 있었다 제공 한 솔루션 :DataTable에서 서식있는 텍스트 표시

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

나는 공식 포럼라고

이것은 아마도 XSS protection에 의해 발생을 그 Editor 서버 측 라이브러리에 내장되어 있습니다. 기꺼이 스크립팅을 허용하면 해당 옵션을 비활성화 할 수 있습니다.

하지만 그 속성을 비활성화하는 방법을 모르겠습니다. 나는 다양한 방법을 시도했지만 아무도 효과가 없었습니다.

편집 1 : 지금 어떤 데이터 테이블 디스플레이 스냅 샷 : enter image description here

편집 2 : 데이터 테이블, 텍스트에서 문자열 형식으로 표시됩니다 "<p><h1>abc</h1></p>" 대신 <p><h1>abc</h1></p>의를.

+0

데이터 테이블에 정확히 무엇이 있습니까? html 코드가 올바른 datables에 있습니까? html 코드가 모든 내용에서 제거되면 편집기에 문제가 있습니다. 아마도 JSFIDDLE은 약간의 빛을 비출 수 있습니다 ... – MaVRoSCy

+0

@MaVRoSCy 질문에있는 텍스트를 업데이트했습니다 ... – HBK

+0

서식있는 텍스트가 DB에서 오는 것입니까? – annoyingmouse

답변

1

데이터 테이블이 rtf에 데이터를 표시하지 않는 이유를 알 수있었습니다. Actully, 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의 변형이며 (두 가지 형식으로 된 텍스트를 생성하므로) 데이터 테이블이 아닌 것입니다.

+0

좋은 1 @HBK, 당신이 그것을 분류있어 기쁘다! :-) – annoyingmouse

+0

@annoyingmouse :) – HBK