【发布时间】:2011-06-01 11:28:41
【问题描述】:
我正在尝试学习如何使用PHP's DOM functions。作为练习,我想修复无效的 HTML 片段。到目前为止,我已经能够生成一个完整文档:
<?php
$fragment = '<div style="font-weight: bold">Lorem ipsum <div>dolor sit amet,
<strong><em class=foo>luptate</strong></em>. Excepteur proident,
<div class="bar">sunt in culpa</div> officia est laborum.';
$doc = new DOMDocument;
libxml_use_internal_errors(TRUE);
$doc->loadHTML($fragment);
libxml_use_internal_errors(FALSE);
$doc->formatOutput = TRUE;
echo $doc->saveHTML();
?>
... 打印:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><div style="font-weight: bold">Lorem ipsum <div>dolor sit amet,
<strong><em class="foo">luptate</em></strong>. Excepteur proident,
<div class="bar">sunt in culpa</div> officia est laborum.</div>
</div></body></html>
我的问题:
- 有没有办法只打印与原始片段对应的 HTML?
- 是否有更适合此类任务的内置库?
【问题讨论】:
标签: php html dom html-parsing