Использование Imperavi Redactor с рамкой Yii 2.Удалить пустой тег в Imperavi Redactor
Когда текст не введен, Imperavi Redactor производит эту разметку: <p><br></p>
. Для каждой разрывы строки также добавляется эта разметка.
Я хочу удалить это, потому что нет возможности нормально проверить такой контент с помощью RequiredValidator
. Я хочу сделать удаление в событии beforeValidate()
и проверить, не введен ли какой-либо текст. Если нет текста, кроме пустых тегов, пробелов и разрывов строк, сохранение не допускается. В противном случае содержимое должно быть сохранено в исходном состоянии.
Это может быть достигнуто с помощью preg_replace
, но я не уверен, что это единственное изменение, созданное Redactor. И даже это единственное решение, такое решение не является надежным при переключении опций (например, установка paragraphize
опции false
), обновляет или изменяет WYSIWYG, например, TinyMCE или CKEditor.
Например, если это будет <p><br/></p>
или <p> </p>
, regex не удастся. Также мне нужны триммеры, например <p> <br></p>
.
Есть ли возможность в Redactor сделать это? removeEmpty опция не помогает.
Я пробовал очиститель HTML с опцией AutoFormat.RemoveEmpty, и результат был <p><br/></p>
(для контента <p></br></p>
). Возможно, нам нужно указать пользовательский шаблон или список тегов, что именно должно быть удалено внутри абзацев.