在PHP函数中,我从MySQL数据库中抓取随机的HTML块,这些HTML可能形成也可能不是很好。一个例子是:
<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">Heres something to display<br><br>Thanks,<br><br>
然后我从PHP函数返回这个HTML块,并将返回到页面的内容回显到<div>
持有者。
我遇到的问题是上面显示的正确,但由于它没有关闭标签,因此在显示时会对DOM造成严重破坏。我无法控制HTML的形成方式,因为它来自随机电子邮件回复。我的问题是,无论如何要封装这一块HTML并将其从我的页面的其余部分中删除?是否有标签我可以在<div>
之外包装此HTML,以确保无论形成得多好,它都会显示但不会与页面的其余部分进行交互?
答案 0 :(得分:0)
您可以限制通过DOM解析器运行它所造成的损害。例如:
libxml_use_internal_errors(true);
$dom = new DOMDocument();
$dom->loadXML("<root>".$your_malformed_html."</root>");
$reformatted_html = substr($dom->saveXML(),6,-7);