* TEXT * * HELLO * WORLD * * * * ARRAY SHOULD THEN LOOK LIKE: * * ARRAY ( * "NODES" => ARRAY ( * "NODE" => ARRAY ( * 0 => "TEXT" * 1 => ARRAY ( * "FIELD" => ARRAY ( * 0 => "HELLO" * 1 => "WORLD" * ) * ) * ) * ) * ) * * @PARAM MIXED $MIXED AN ARRAY OR STRING. * * @PARAM DOMELEMENT[OPTIONAL] $DOMELEMENT THEN ELEMENT * FROM WHERE THE ARRAY WILL BE CONSTRUCT TO. * */ public function fromMixed($mixed, DOMElement $domElement = null) { $domElement = is_null($domElement) ? $this : $domElement; if (is_array($mixed)) { foreach( $mixed as $index => $mixedElement ) { if ( is_int($index) ) { if ( $index == 0 ) { $node = $domElement; } else { $node = $this->createElement($domElement->tagName); $domElement->parentNode->appendChild($node); } } else { $node = $this->createElement($index); $domElement->appendChild($node); } $this->fromMixed($mixedElement, $node); } } else { $domElement->appendChild($this->createTextNode($mixed)); } } }