【发布时间】:2011-10-20 16:11:11
【问题描述】:
我正在尝试使用 PHP 中的 DOMDocument 来添加/解析 HTML 文档中的内容。据我所知,将 formOutput 设置为 true 并将 preserveWhiteSpace 设置为 false 应该使制表符和换行符保持有序,但它似乎不适用于新创建或附加的节点。
代码如下:
$dom = new \DOMDocument;
$dom->formatOutput = true;
$dom->preserveWhiteSpace = false;
$dom->loadHTMLFile($htmlsource);
$tables = $dom->getElementsByTagName('table');
foreach($tables as $table)
{
$table->setAttribute('class', 'tborder');
$div = $dom->createElement('div');
$div->setAttribute('class', 'm2x');
$table->parentNode->insertBefore($div, $table);
$div->appendChild($table);
}
$dom->saveHTMLFile($html)
HTML 如下所示:
<table>
<tr>
<td></td>
</tr>
</table>
这就是我想要的:
<div class="m2x">
<table class="tborder">
<tr>
<td></td>
</tr>
</table>
</div>
这是我得到的:
<div class="m2x"><table class="tborder"><tr>
<td></td>
</tr></table></div>
我做错了什么吗?我试过用谷歌搜索尽可能多的不同方式,但没有运气。
【问题讨论】:
标签: php domdocument