繁体   English   中英

PHP DOMDocument:如何获取直接节点子代

[英]PHP DOMDocument: How to get direct node childrens

我有以下几点:

http://pastie.org/1066861

我有一个Javascript函数,它告诉我从父级删除给定的节点,让我们假设位置1(从0或1开始,因为我们在父级上有两个子节点),在执行$ parent-> getElementsByTagName和在尝试删除$ child-> item(1)时,我注意到PHP GetElementsByTagName为该特定节点提供了不同的位置。 因此,JS告诉我们,无法访问正确的节点。

我想我应该远离getElementsByTagName,而使用getElementsById,但是现在我想学习并理解为什么它不能正常工作。

这是一些代码: http : //pastie.org/1066857

非常感谢您的关注; D

找到了解决方案,

/*
 * deleteNode() removes given node, in position X.
 */
function deleteNode( $html, $strParent, $intNodePosition ) {

    $domhtml = DOMDocument::loadHTML($html); 

    $xpath = new DOMXPath($domhtml);

    $divs = $xpath->query( "*/div[@id='maindiv']/div" );

    $node = $divs->item( $intNodePosition );

    $node->parentNode->removeChild( $node );

    /*
    this wont work, but why ? It should
    $divs->removeChild( $node );
    */

return $domhtml->saveHTML();

}//fim deleteNode

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM