Как закодировать ввод HTML в ckeditor в angular

Я использую ng2-ckeditor в своем угловом проекте, мне нужно кодировать ‹ и > как <,>, так как кодировать входной HTML

.html                                                                                                       
<ckeditor> </ckeditor>
<button type="button" (click) ="submit()">Click Me!</button>   

.ts

import { Component, OnInit } from '@angular/core';
declare var CKEDITOR: any;

@Component({
  selector: 'app-html-editor',
  templateUrl: './html-editor.component.html',
  styleUrls: ['./html-editor.component.css']
})


export class HtmlEditorComponent implements OnInit {
  constructor() {
  }
  ngOnInit() {


  }

  submit() {
    var editor = CKEDITOR.instances.editor1;
    var data = editor.getData();
    console.log(data)
  }
}

person Isha    schedule 11.12.2019    source источник


Ответы (1)


Вы можете преобразовать любой символ, который вы хотите. Ниже приведен код, который принимает str в качестве входных данных и возвращает преобразованную строку.

function convertHTML(str) {
    // &colon;&rpar;
    var Regcheck = /\W\s/gi;
    var htmlListObj = {'&':"&amp;",
                      "<":"&lt;",
                      ">":"&gt;",
                      '"':"&quot;",
                      "'":"&apos;"};
    var a = str.split("");
    var b =[];

    for (var i in a) {
         if (htmlListObj.hasOwnProperty(a[i])) {
             b.push( htmlListObj[a[i]]);
         }else{
             b.push(a[i]);
         } 
    }
    var c = b.join("");
   return c;
}
person Shabbir Dhangot    schedule 11.12.2019
comment
есть ли у ckeditor какие-либо функции для кодирования входного html, потому что я искал что-то вроде htmlEncodeOutput = true, но это не работает для меня - person Isha; 11.12.2019
comment
Это решение, которое вы можете использовать. htmlEncodeOutput имеет некоторые проблемы, вы можете проверить по следующей ссылке: ckeditor.com/ старый/форумы/CKEditor-3.x/HTML-кодировать - person Shabbir Dhangot; 11.12.2019
comment
ссылка, которую вы указали, также предлагает использовать config.htmlEncodeOutput = true; но это не работает для . - person Isha; 11.12.2019
comment
подскажите, пожалуйста, как вернуть ввод в исходную форму? - person Isha; 12.12.2019
comment
Просто обратная функция. - person Shabbir Dhangot; 12.12.2019
comment
нужно ли реверсировать объект? - person Isha; 13.12.2019
comment
да ... теперь вам нужно сделать обратное то, что вы заменили. Он вернется к нормальной строке. - person Shabbir Dhangot; 13.12.2019