奇怪的DOMDocument问题

时间:2014-07-02 10:03:15

标签: php domdocument

我有以下代码:

$DOMDocument = @DOMImplementation::createDocument(null, 'html'); 
$width = array(200, 700);

$colgroup = $DOMDocument->createElement('colgroup');
foreach($width as $key => $width) {

   $precentageWidth = round(($width*100)/array_sum($width));

   $col = $DOMDocument->createElement('col');
   $col->setAttribute('width', 'test');

   $colgroup->appendChild($col);

}

$baseelement = $DOMDocument->documentElement;

$baseelement->appendChild($colgroup);


echo $DOMDocument->saveHTML();

预期结果:

<html><colgroup><col width="test"></col><col width="test"></col></colgroup></html>

得到了结果:

<html><colgroup><col width="test"><col width="test"></colgroup></html>

所以我的问题是:</col>标签丢失了;为什么呢?

1 个答案:

答案 0 :(得分:0)

According to the specification</col>结束标记禁止

这类似于<img> tag - 你永远不会写<img src="x.png"></img>,是吗?

因为禁止结束标记,所以DOM实现正确地省略了它。