Удалите теги при выполнении removeFormat

#javascript #tinymce #tinymce-5

Вопрос:

Я пытаюсь расширить RemoveFormat команду, чтобы она удаляла <br> теги.

Я пробовал изменить removefromat формат:

             formats: {
                removeformat: [
                    {
                        selector: 'br',
                        remove: 'all'
                    }
                ]
            }
 

Приведенный выше код по какой-то причине удаляет amp;nbsp; из пустых строк <p>amp;nbsp;</p> , это неприемлемо.

Моей второй попыткой было добавление плагина и использование editor.selection.getContent / editor.selection.setContent , но я не могу найти информацию о том, как восстановить выделение с помощью этого подхода.

Комментарии:

1. У вас есть что-то подобное valid_elements : '*[*]' , настроенное в вашем редакторе tinymce?

Ответ №1:

Когда я настраиваю свой редактор TinyMCE таким образом, он работает для меня:

   valid_elements : '*[*]',
  remove_trailing_brs: false,
  formats: {
    removeformat: [
      { selector: 'br', remove: 'all' }
    ]
  }
 

Вот пример кода для этого: https://codepen.io/jonas_weinhardt/pen/oNwmpaz

Может быть, это поможет вам решить вашу проблему.

Комментарии:

1. Я попробовал ваш образец, и он сработал, затем я сделал то же самое в своем приложении, и вдруг он сработал. Возможно, это было связано с обновлением Angular (мы используем компонент-оболочку).