Специальные символы в редакторе wysihtml5

Я использую редактор wysihtml5 на своем сайте и хотел бы иметь следующие функции: если пользователь вставляет текст с помощью специальные символы преобразуются в html-объекты.

Например, пользователь вставляет:

"Sample text, sample text, sample text ©"

Мне нужно преобразовать его в:

"Sample text, sample text, sample text ©"

Я не нашел никакой информации, связанной со специальными символами в документах редактора. Один из методов, о котором я думаю, — создать прослушиватель для события вставки и обработать специальные символы на этом этапе.

Не могли бы вы посоветовать, как лучше всего добавить эту функцию в редактор?


person Tamara    schedule 23.06.2015    source источник
comment
приемлемо ли изменение его на объект XML (например, ©)? это просто, но использование именованных символов потребует большого списка преобразований...   -  person dandavis    schedule 23.06.2015
comment
@dandavis да, я думаю, мы могли бы использовать и десятичные коды   -  person Tamara    schedule 23.06.2015


Ответы (1)


вы можете использовать диапазон символов RegExp для замены() их с помощью динамической функции:

strNew=strOld.replace(
  /([\u00A0-\u00FF])/g,  
  function(j,a){
             return "&#" + parseInt(a.charCodeAt(0), 16) + ";" ;
  }
);

живая демонстрация: http://pagedemos.com/27w7n4n58qpk

это может быть применено из строки, которую вы возвращаете из своего редактора, или, я думаю, на innerHTML тега contenteditable редактора.

person dandavis    schedule 23.06.2015