Я использую редактор Summernote WYSIWYG с фреймворком Laravel.
Я заметил, что многие сценарии, использующие редактор Summernote WYSIWYG, могут привести к ситуации, когда генерируется неверный HTML-код. Например, пользователь может выбрать несколько строк, включая различный текст и даже некоторые картинки в выделении. Затем, если пользователь нажимает кнопку BOLD или ITALIC, генерируется недействительный HTML.
Мой вопрос, как вы подходите к этой проблеме?
У меня есть функция для удаления <p>...</p>
вокруг HTML-кода:
private static function removeWrapperPTag($code)
{
if(starts_with($code, '<p'))
{
$corrected = str_replace_first('<p','<div',$code);
if(ends_with($code, '</p>'))
return str_replace_last('</p>','</div>',$corrected);
else if(ends_with($code, "</p>\n"))
return str_replace_last("</p>\n",'</div>',$corrected);
}
return $code;
}
... но это только один пример, как обнаружить все возможные сценарии, которые приведут к неверному HTML-коду?
Мне очень интересно услышать от вас, как вы решаете эти проблемы ...