Использование Imperavi Redactor с каркасом Yii 2.
Когда текст не вводится, 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> ). Возможно, нам нужно указать пользовательский шаблон или список тегов, что именно должно быть удалено внутри абзацев.