PHP DOM列表元素
我试图添加html列表ul的新元素,结果得到无效的html文件PHP DOM列表元素,php,object,dom,html-lists,Php,Object,Dom,Html Lists,我试图添加html列表ul的新元素,结果得到无效的html文件 public function createChild() { $args=func_get_args(); $child = $this->dom->createElement($args[1]); $result=$args[0]->appendChild($child); return $result; } 我如何使用它 $p=$tpl->createChild($di
public function createChild()
{
$args=func_get_args();
$child = $this->dom->createElement($args[1]);
$result=$args[0]->appendChild($child);
return $result;
}
我如何使用它
$p=$tpl->createChild($div,'p');
$list=$tpl->createChild($div,'ul');
$tpl->createChild($list,'li');
结果
<div class="Menu" id="Base">
<p></p>
<ul><li></ul>
</div>
如果我尝试在其他地方添加li,也不要得到结束标记。您使用过验证器吗 取决于doctype。这至少不是无效的HTML5,似乎不必关闭lis
li HTML标记通常需要一个值 您可以尝试为li使用另一个addChild,并将该值作为参数
if ($args[2] != '') {
$child = $this -> dom -> createElement($args[1], $args[2]);
]
你的第二部分
<li></li>
省略了。对于空值,请使用空格“&bsp;”。
这可能是由于页面上的一些HTML错误造成的
结果应该是:
<div class="Menu" id="Base">
<p></p>
<ul><li>&bsp;</li></ul>
</div>
$tpl -> createChild($list, 'li', '&bsp;');
对整个页面进行HTML验证。可能是因为您将li附加到div而不是ul?在这种情况下,它将添加到ul$dom=new DOMDocument之后;libxml\u使用\u内部错误序列;libxml_清除_错误;因为PHPDOM不理解html5标记
<div class="Menu" id="Base">
<p></p>
<ul><li>&bsp;</li></ul>
</div>
$tpl -> createChild($list, 'li', '&bsp;');