当前位置: 首页>>代码示例>>PHP>>正文


PHP DOMNode::isSameNode方法代码示例

本文整理汇总了PHP中DOMNode::isSameNode方法的典型用法代码示例。如果您正苦于以下问题:PHP DOMNode::isSameNode方法的具体用法?PHP DOMNode::isSameNode怎么用?PHP DOMNode::isSameNode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在DOMNode的用法示例。


在下文中一共展示了DOMNode::isSameNode方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: switch

 public function &appendNode(DOMNode &$a_tag)
 {
     switch ($this->m_node->nodeType) {
         case XML_DOCUMENT_NODE:
             $node = $this->m_node->isSameNode($a_tag->ownerDocument) ? $a_tag : $this->m_node->importNode($a_tag, true);
             $this->m_node->appendChild($a_tag);
             return $this;
         case XML_ELEMENT_NODE:
             $node = $this->m_node->ownerDocument->isSameNode($a_tag->ownerDocument) ? $a_tag : $this->m_node->ownerDocument->importNode($a_tag, true);
             $this->m_node->appendChild($node);
             return $this;
     }
     return $this;
 }
开发者ID:BGCX261,项目名称:zoombi-svn-to-git,代码行数:14,代码来源:xmltag.php

示例2: insertNode

 protected function insertNode(DOMNode $tmp, DOMNode $node, $mode)
 {
     if ($mode === 'before' || $mode === 'after') {
         if ($node instanceof DOMText || $node instanceof DOMElement || $node instanceof DOMDocumentFragment) {
             if ($tmp->isSameNode($tmp->ownerDocument->documentElement)) {
                 throw new BadMethodCallException('Cannot insert a ' . get_class($node) . ' node outside of the root node');
             }
         }
         if ($mode === 'before') {
             return $tmp->parentNode->insertBefore($node, $tmp);
         }
         if ($tmp->nextSibling) {
             return $tmp->parentNode->insertBefore($node, $tmp->nextSibling);
         }
         return $tmp->parentNode->appendChild($node);
     }
     return $tmp->appendChild($node);
 }
开发者ID:ketwaroo,项目名称:simple-dom,代码行数:18,代码来源:SimpleDOM.php

示例3: createXPath

 /**
  * Create XPath
  *
  * @param \DOMNode $node
  * @return string
  */
 protected function createXPath(\DOMNode $node)
 {
     $parentXPath = '';
     $currentXPath = $node->getNodePath();
     if ($node->parentNode !== null && !$node->isSameNode($node->parentNode)) {
         $parentXPath = $this->createXPath($node->parentNode);
         $pathParts = explode('/', $currentXPath);
         $currentXPath = '/' . end($pathParts);
     }
     $attributesXPath = '';
     if ($node->hasAttributes()) {
         $attributes = [];
         foreach ($node->attributes as $name => $attribute) {
             if ($this->isIdAttribute($name)) {
                 $attributes[] = sprintf('@%s="%s"', $name, $attribute->value);
                 break;
             }
         }
         if (!empty($attributes)) {
             if (substr($currentXPath, -1) === ']') {
                 $currentXPath = substr($currentXPath, 0, strrpos($currentXPath, '['));
             }
             $attributesXPath = '[' . implode(' and ', $attributes) . ']';
         }
     }
     return '/' . trim($parentXPath . $currentXPath . $attributesXPath, '/');
 }
开发者ID:vrann,项目名称:magento2-from-vendor,代码行数:33,代码来源:DomMerger.php

示例4: drawThumbnailZone

 /**
  * Draw a final layout zone on its thumbnail.
  *
  * @access private
  *
  * @param ressource $thumbnail  The thumbnail ressource
  * @param DOMNode   $node       The current node zone
  * @param array     $clip       The clip rect to draw
  * @param int       $background The background color
  * @param int       $gridcolumn The number of columns in the grid
  * @param boolean   $lastChild  True if the current node is the last child of its parent node
  *
  * @return int The new X axis position;
  */
 private function drawThumbnailZone(&$thumbnail, $node, $clip, $background, $gridcolumn, $lastChild = false)
 {
     $x = $clip[0];
     $y = $clip[1];
     $width = $clip[2];
     $height = $clip[3];
     if (null !== ($spansize = preg_replace('/[^0-9]+/', '', $node->getAttribute('class')))) {
         $width = floor($width * $spansize / $gridcolumn);
     }
     if (false !== strpos($node->getAttribute('class'), 'Child')) {
         $height = floor($height / 2);
     }
     if (!$node->hasChildNodes()) {
         $this->drawRect($thumbnail, array($x, $y, $width, $height), $background, $width == $clip[2] || strpos($node->getAttribute('class'), 'hChild'), $lastChild);
         return $width + 2;
     }
     foreach ($node->childNodes as $child) {
         if (is_a($child, 'DOMText')) {
             continue;
         }
         if ('clear' == $child->getAttribute('class')) {
             $x = $clip[0];
             $y = $clip[1] + floor($height / 2) + 2;
             continue;
         }
         $x += $this->drawThumbnailZone($thumbnail, $child, array($x, $y, $clip[2], $height), $background, $gridcolumn, $node->isSameNode($node->parentNode->lastChild));
     }
     return $x + $width - 2;
 }
开发者ID:gobjila,项目名称:BackBee,代码行数:43,代码来源:LayoutRepository.php

示例5: nodeIndex

 private function nodeIndex(DOMNode $n)
 {
     $cnt = 0;
     foreach ($n->parentNode->childNodes as $n2) {
         if ($n->isSameNode($n2)) {
             return $cnt;
         }
         $cnt++;
     }
     return false;
 }
开发者ID:samuelkato,项目名称:DOMRange,代码行数:11,代码来源:DOMRange.php


注:本文中的DOMNode::isSameNode方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。