FluentDOM
[ class tree: FluentDOM ] [ index: FluentDOM ] [ all elements ]

Source for file Handler.php

Documentation is available at Handler.php

  1. <?php
  2. /**
  3. * FluentDOMHandler provides dom manipulation functions
  4. *
  5. @version $Id: Handler.php 429 2010-03-29 08:05:32Z subjective $
  6. @license http://www.opensource.org/licenses/mit-license.php The MIT License
  7. @copyright Copyright (c) 2009-2010 Bastian Feder, Thomas Weinert
  8. *
  9. @package FluentDOM
  10. */
  11.  
  12. /**
  13. * FluentDOMHandler provides dom manipulation functions
  14. *
  15. @package FluentDOM
  16. */
  17.  
  18.   /**
  19.   * Insert nodes after the target node.
  20.   * @param DOMNode $targetNode 
  21.   * @param array|DOMNodeList|FluentDOM$contentNodes 
  22.   */
  23.   public static function insertNodesAfter($targetNode$contentNodes{
  24.     $result array();
  25.     if (isset($targetNode->parentNode&&
  26.         !empty($contentNodes)) {
  27.       $beforeNode $targetNode->nextSibling;
  28.       foreach ($contentNodes as $contentNode{
  29.         $result[$targetNode->parentNode->insertBefore(
  30.           $contentNode->cloneNode(TRUE)$beforeNode
  31.         );
  32.       }
  33.     }
  34.     return $result;
  35.   }
  36.  
  37.   /**
  38.   * Insert nodes before the target node.
  39.   * @param DOMNode $targetNode 
  40.   * @param array|DOMNodeList|FluentDOM$contentNodes 
  41.   */
  42.   public static function insertNodesBefore($targetNode$contentNodes{
  43.     $result array();
  44.     if (isset($targetNode->parentNode&&
  45.         !empty($contentNodes)) {
  46.       foreach ($contentNodes as $contentNode{
  47.         $result[$targetNode->parentNode->insertBefore(
  48.           $contentNode->cloneNode(TRUE)$targetNode
  49.         );
  50.       }
  51.     }
  52.     return $result;
  53.   }
  54.  
  55.   /**
  56.   * Append nodes into target.
  57.   *
  58.   * @param DOMNode $targetNode 
  59.   * @param array|DOMNodeList|FluentDOM$contentNodes 
  60.   */
  61.   public static function appendChildren($targetNode$contentNodes{
  62.     $result array();
  63.     if ($targetNode instanceof DOMElement{
  64.       foreach ($contentNodes as $contentNode{
  65.         if ($contentNode instanceof DOMElement ||
  66.             $contentNode instanceof DOMText{
  67.           $result[$targetNode->appendChild($contentNode->cloneNode(TRUE));
  68.         }
  69.       }
  70.     }
  71.     return $result;
  72.   }
  73.  
  74.   /**
  75.   * Insert nodes into target as first childs.
  76.   *
  77.   * @param DOMNode $targetNode 
  78.   * @param array|DOMNodeList|FluentDOM$contentNodes 
  79.   */
  80.   public static function insertChildrenBefore($targetNode$contentNodes{
  81.     $result array();
  82.     if ($targetNode instanceof DOMElement{
  83.       $firstChild $targetNode->hasChildNodes($targetNode->childNodes->item(0NULL;
  84.       foreach ($contentNodes as $contentNode{
  85.         if ($contentNode instanceof DOMElement ||
  86.             $contentNode instanceof DOMText{
  87.           $result[$targetNode->insertBefore(
  88.             $contentNode->cloneNode(TRUE),
  89.             $firstChild
  90.           );
  91.         }
  92.       }
  93.     }
  94.     return $result;
  95.   }
  96. }

Documentation generated on Sun, 26 Sep 2010 01:00:53 +0200 by phpDocumentor 1.4.3