public function wrapAll()
    {
        $wrapper_node = null; // node given as wrapper
        $wrap_target_node = null; // node that wil be parent of content to be wrapped

        $this->importNodes(\func_get_args(), function ($node, $imported_node) use (&$wrapper_node, &$wrap_target_node) {
            if ($node->parentNode instanceof \DOMDocument) {
                throw new \Exception('Can not wrap inside root element '.$node->tagName.' of document');
            }
            if ($wrapper_node && $wrap_target_node) { // already wrapped before
                $old = $node->parentNode->removeChild($node);
                $wrap_target_node->appendChild($old);
            } else {
                $wrapper_node = $imported_node;
                // replace node with (imported) wrapper
                $old = $node->parentNode->replaceChild($imported_node, $node);
                // old node goes inside the most inner child of wrapper
                $target = $imported_node;

                while ($target->hasChildNodes()) {
                    $target = $target->childNodes[0];
                }
                $target->appendChild($old);
                $wrap_target_node = $target; // save for next round
            }
        });

        return $this;
    }
public function wrapAll()
    {
        $wrapper_node = null; // node given as wrapper
        $wrap_target_node = null; // node that wil be parent of content to be wrapped

        $this->importNodes(\func_get_args(), function ($node, $imported_node) use (&$wrapper_node, &$wrap_target_node) {
            if ($node->parentNode instanceof \DOMDocument) {
                throw new \Exception('Can not wrap inside root element '.$node->tagName.' of document');
            }
            if ($wrapper_node && $wrap_target_node) { // already wrapped before
                $old = $node->parentNode->removeChild($node);
                $wrap_target_node->appendChild($old);
            } else {
                $wrapper_node = $imported_node;
                // replace node with (imported) wrapper
                $old = $node->parentNode->replaceChild($imported_node, $node);
                // old node goes inside the most inner child of wrapper
                $target = $imported_node;

                while ($target->hasChildNodes()) {
                    $target = $target->childNodes[0];
                }
                $target->appendChild($old);
                $wrap_target_node = $target; // save for next round
            }
        });

        return $this;
    }
public function wrapAll ( ) { $ wrapper_node = null ; // node given as wrapper $ wrap_target_node = null ; // node that wil be parent of content to be wrapped $ this -> importNodes ( \ func_get_args ( ) , function ( $ node , $ imported_node ) use ( & $ wrapper_node , & $ wrap_target_node ) { if ( $ node -> parentNode instanceof \ DOMDocument ) { throw new \ Exception ( 'Can not wrap inside root element ' . $ node -> tagName . ' of document' ) ; } if ( $ wrapper_node && $ wrap_target_node ) { // already wrapped before $ old = $ node -> parentNode -> removeChild ( $ node ) ; $ wrap_target_node -> appendChild ( $ old ) ; } else { $ wrapper_node = $ imported_node ; // replace node with (imported) wrapper $ old = $ node -> parentNode -> replaceChild ( $ imported_node , $ node ) ; // old node goes inside the most inner child of wrapper $ target = $ imported_node ; while ( $ target -> hasChildNodes ( ) ) { $ target = $ target -> childNodes [ 0 ] ; } $ target -> appendChild ( $ old ) ; $ wrap_target_node = $ target ; // save for next round } } ) ; return $ this ; }
Wrap an HTML structure around all elements in the set of matched elements

@param string|self $content,...

@return $this
Wrap an HTML structure around all elements in the set of matched elements