TinyMCE getContent дает закодированные URL-адреса

У меня есть страница с текстовым полем TinyMCE для ввода некоторых данных. Когда пользователь вводит контент, например

#WorldCupRio http://www.ball.com/us/experience?story=hello&city=panama

и я делаю

jTextarea.tinymce().getContent()

на нем я получаю контент вроде

#WorldCupRio http://www.ball.com/us/experience?story=hello&city=panama

& кодируется в

&

Как я могу избежать этой кодировки с помощью & или любого другого специального символа? Пожалуйста, помогите.


person ghostCoder    schedule 21.06.2014    source источник
comment
попробуй verify_html:false   -  person marathonman    schedule 22.06.2014
comment
нет, я не хочу verify_html. я не хочу, чтобы пользователи копировали и вставляли сообщения и брали этот html.   -  person ghostCoder    schedule 22.06.2014
comment
я хочу, чтобы пользователи печатали свои сообщения. и это сообщение может иметь ссылки. я просто хочу, чтобы сообщение, которое я получаю от tinymce, не было закодировано и не должно быть &   -  person ghostCoder    schedule 22.06.2014
comment
этот ответ может помочь вам stackoverflow.com/questions/5288083/tinymce-get -простой текст   -  person Ravi Koradia    schedule 03.03.2017


Ответы (3)


На самом деле это должно быть установлено на этапе инициализации редактора.

tinyMCE.init({
     entity_encoding: "raw",
     editor_selector: "tinyMCE",
     relative_urls : false,
     convert_urls : false
    // other config ...
}

Вы можете проверить конфигурацию TinyMce.

ОБНОВЛЕНИЕ: оказывается, согласно конфигуentity_encoding, невозможно оставить ‹ > & ' и " необработанными. Следовательно, я вижу, как использовать replace, чтобы вернуть эти необработанные объекты.

person Niket Pathak    schedule 07.03.2017

На самом деле редактор все делает правильно.

Если бы URL был атрибутом href тега <a>, он не был бы закодирован в HTML.

Вы пробовали этот плагин? Кажется, хорошо подходит.

https://www.tinymce.com/docs/plugins/autolink/

person Tudor Ilisoi    schedule 07.03.2017

Попробуйте:

   tinymce.init({
       entity_encoding : "raw"
    });

Или, если у вас все еще есть проблемы, вы можете попробовать что-то вроде; в основном удаление или замена определенных символов строки или, в данном случае, вашего URL; который вы могли бы сначала получить, а затем затем продезинфицировать чем-то вроде ниже.

cleanURI = crappyURI.replace(&amp;, ''); // find unwanted characters and then remove

затем используйте .getContent();, чтобы получить чистый URL.

Также ознакомьтесь с функция encodeURIComponent()

person fred randall    schedule 07.03.2017
comment
На самом деле это именно то, что я делаю, но я ищу что-то, что можно настроить :) :) - person psycho; 08.03.2017
comment
Здорово! Можете ли вы описать более желаемую конфигурацию? И я могу попытаться помочь больше;) - person fred randall; 08.03.2017
comment
Похоже, кроме замены &amp; у нас нет выбора, я искал какие-то варианты в конфигурации, чтобы избежать этой замены детали. :п - person psycho; 09.03.2017
comment
Я должен остаться с этой заменой. - person psycho; 09.03.2017