0

在一个 PHP 函数中,我从我的 MySQL 数据库中抓取随机的 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 并将其从我的页面的其余部分中删除?是否有我可以包装这个 HTML 的标签,除此之外<div>,这将确保无论它的格式如何,它都会显示但不会与页面的其余部分交互?

4

1 回答 1

0

您可以限制通过 DOM 解析器运行它所造成的损害。例子:

libxml_use_internal_errors(true);
$dom = new DOMDocument();
$dom->loadXML("<root>".$your_malformed_html."</root>");
$reformatted_html = substr($dom->saveXML(),6,-7);
于 2013-01-13T17:28:47.157 回答