<html>
<body>
<table>
<tr>
<td>
1
</td>
<td>
2
</td></td>
</tr>
</table>
当我用这种结构解析html时会出错。 Warning: DOMDocument::loadHTML() [domdocument.loadhtml]: Unexpected end tag : td in Entity, line: 173 in C:\wamp\wwwxxxxxx on line 51
答案 0 :(得分:4)
tidy
等工具应该能够修复HTML,以便您可以在DOM中使用它。
$html = "<html>
<body>
<table>
<tr>
<td>
1
</td>
<td>
2
</td></td>
</tr>
</table>";
$tidy = tidy_parse_string($html);
$html = $tidy->html();
$cleanHTML = $html->value;
$doc = new DomDocument();
$doc-> loadhtml($cleanHTML);
注意:Tidy不随PHP一起提供,您必须安装扩展程序才能使用这些功能