Как предотвратить CKEditor для удаления <и> (больше / меньше, чем) - PullRequest
6 голосов
/ 27 августа 2010

Каждый раз, когда я вписываю < или > в окне CKEditor, сохраняю и затем возвращаюсь к нему, CKEditor заменяет их тем, что было введено в скобках и сопровождающим тегом конца. Например: если я наберу <configuration details>, CKEditor будет считать, что это HTML-тег, и поместит <configuration details></configuration details> в html-источник, таким образом полностью исключив его из текста. Argh!

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 15 декабря 2015

Лучшее, что я придумал, - это использование символа Юникод, который неопределенно меньше, чем знак-знак, или что-то функционально напоминающее, например, стрелка влево может указывать на перенаправление.

Вам понадобится что-то вроде скрэтч-страницы / блокнота с открытыми персонажами, чтобы вы могли вырезать и вставлять (или находить / заменять), работая над документами, спасающими жизнь.

Вот несколько символов, которые я должен заполнить:

⨞ ◀ ◄ ⇦ ⍃ ❮ ⍄ ► ▶ ▷ ❭ ˃

Любой из них может работать, а может и не работать, в зависимости от поддержки юникода браузера, ОС и / или приложения и (неправильной) конфигурации.

Скопируйте и выполните поиск в Google, чтобы найти юникод / ​​html / long-description (например, 'MODIFIER LETTER RIGHT ARROWHEAD' (U+02C3)) для любого символа, и используйте эту информацию для поиска связанных или совпадающих символов.

Вот пара примеров. Вам понадобится подходящий браузер и 3D-очки, чтобы оценить их в полной мере.

  • Это выглядит хорошо!

mysql -u root -p xxxxxx ❮​ /usr/share/icinga2/schema.sql

  • Не так много, но это хороший стартер для разговора:

◄configuration details►◄/configuration details►

  • Может быть, даже

mysql -u root -p passw*t ◄ nerf_ischemia.sql

Но вау, это отвратительно. Это все же лучше, чем иметь знак «меньше» и все после того, как оно будет снято.

Там может быть лучший символ или даже какой-то взлом с добавлением изображения. Но это мое быстрое решение. В любом случае применимость этого решения будет зависеть от различных факторов, включая допуск на неточность набора символов, а также от ранее упомянутой ОС, программного обеспечения, поддержки странных символов Unicode в браузере.

0 голосов
/ 15 марта 2011

Да, это настоящая боль.

Единственный найденный мной обходной путь - это использование

CKEDITOR.instances.myInst.setData(myData);

На самом деле это правильно обрабатывает экранированный и неэкранированный html, поэтому ваши <и> будут правильно отображаться как знаки меньше и больше, чем интерпретироваться как разметка.

Я еще не нашел способ заставить это работать со встроенными данными. Метод обхода setData () довольно неуклюжий.

...