使用PHP DOM在html标记的开头插入创建的元素

使用PHP DOM在html标记的开头插入创建的元素,php,dom,appendchild,setattribute,getelementsbytagname,Php,Dom,Appendchild,Setattribute,Getelementsbytagname,我正在尝试在使用dom打开页面的标记后立即插入HTML标记。我尝试过使用appendChild,它只是在之前插入它,这是不好的 代码im使用: $head = $dom->getElementsByTagName('head')->item(0); $base = $dom->createElement('base'); $base->setAttribute('href', $url); $head->parentNode->insertBefore($ba

我正在尝试在使用dom打开页面的
标记后立即插入HTML
标记。我尝试过使用
appendChild
,它只是在
之前插入它,这是不好的

代码im使用:

$head = $dom->getElementsByTagName('head')->item(0);
$base = $dom->createElement('base');
$base->setAttribute('href', $url);
$head->parentNode->insertBefore($base, $head);
这将在
之前插入
标记,这仍然不好

有什么想法吗?为正确答案干杯

$head = $dom->getElementsByTagName('head')->item(0);
$base = $dom->createElement('base');
$base->setAttribute('href',$url);

if ($head->hasChildNodes()) {
    $head->insertBefore($base,$head->firstChild);
} else {
    $head->appendChild($base);
}

如果
元素已经有子元素,它会在
的第一个子元素之前插入
元素。如果
没有子节点,它只是将其附加到

是否需要父节点?我假设heads的parentnode是html。