我正在使用带有Laravel框架的Summernote WYSIWYG编辑器。
我注意到,许多使用Summernote WYSIWYG编辑器的方案都可能导致生成无效HTML代码的情况。例如,用户可以选择多行,包括不同的文本,甚至可以选择一些图片。然后,如果用户单击BOLD或ITALIC,则会生成无效的HTML。
我的问题是你如何解决这个问题?
我有一个功能可以删除HTML代码周围的<p>...</p>
:
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代码的情况?
我很想听听您如何处理此问题...