Как обрабатывать недопустимый HTML-код, созданный редактором Summernote WYSIWYG - PullRequest
0 голосов
/ 22 января 2019

Я использую редактор 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-коду?

Мне очень интересно услышать от вас, как вы решаете эти проблемы ...

...