我正在尝试将<P>文档中的所有标记更改为<DIV>.这就是我想出来的,但它似乎不起作用:
$dom = new DOMDocument;
$dom->loadHTML($htmlfile_data);
foreach( $dom->getElementsByTagName("p") as $pnode ) {
$divnode->createElement("div");
$divnode->nodeValue = $pnode->nodeValue;
$pnode->appendChild($divnode);
$pnode->parentNode->removeChild($pnode);
}
Run Code Online (Sandbox Code Playgroud)
这是我想要的结果:
之前:
<p>Some text here</p>
Run Code Online (Sandbox Code Playgroud)
后:
<div>Some text here</div>
Run Code Online (Sandbox Code Playgroud)
您将附加div到您的p结果<p><div></div></p>,删除p将删除所有内容.
另外,$divnode->createElement()在$divnode未初始化时不起作用.
请尝试使用DOMDocument :: replaceChild()(divdom中的s位置将与ps 相同).
foreach( $dom->getElementsByTagName("p") as $pnode ) {
$divnode = $dom->createElement("div", $pnode->nodeValue);
$dom->replaceChild($divnode, $pnode);
}
Run Code Online (Sandbox Code Playgroud)