Удалить пустые теги в Imperavi Redactor

Использование Imperavi Redactor с каркасом Yii 2.

Когда текст не вводится, Imperavi Redactor производит эту разметку: <p><br></p> . Для каждой разрывы строки добавляется эта разметка.

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

Это может быть достигнуто с помощью preg_replace , но я не уверен, что это единственное изменение, созданное Redactor. И даже это единственное решение, такое решение не является надежным в случае переключения параметров (например, установка параметра paragraphize на значение false ), обновления или изменение WYSIWYG, например, TinyMCE или CKEditor.

Например, если это будет <p><br/></p> или <p>&nbsp;</p> , regex завершится с ошибкой. Также я хочу триммеры, например <p> <br></p> .

Есть ли возможность в Redactor сделать это? removeEmpty не помогает.

Я попробовал очиститель HTML с параметром AutoFormat.RemoveEmpty, и результат был <p><br/></p> (для контента <p></br></p> ). Возможно, нам нужно указать пользовательский шаблон или список тегов, что именно должно быть удалено внутри абзацев.