/** * Parses the current tag content into Branches and Leaf(s); called from parseFromString * @method parseNodesFromTag * @returns none */ function parseNodesFromTag() { $tempTag = new Tag(); $parseString = $this->tag->getTagContent(); while ($tagParsed = $tempTag->setTagFromString($parseString)) { if ($tagParsed[0] != 0 && trim(substr($parseString, 0, $tagParsed[0]) != "")) { $this->addXMLLeaf(new XMLLeaf(trim(substr($parseString, 0, $tagParsed[0])))); } $branch = new XMLBranch(); $tempTagCopy = new Tag(); $tempTagCopy->setTagName($tempTag->getTagName()); $tempTagCopy->tagAttributes = $tempTag->tagAttributes; $tempTagCopy->setTagContent($tempTag->getTagContent()); $branch->setTag($tempTagCopy); $branch->parseNodesFromTag(); $branch->tag->setTagContent(""); $this->addXMLBranch($branch); $parseString = trim(substr($parseString, $tagParsed[1])); } if (strlen($parseString) > 0 && trim($parseString) != "") { $this->addXMLLeaf(new XMLLeaf($parseString)); } }