// create a list of paras for ($divChild = 0; $divChild < 25; $divChild++) { $newPara = new HtmlElement("p", NULL, NULL, "This is " . chr(ord("a") + $divChild) . " paragraph text"); $mainDiv->addElement($newPara); $newPara->addElement(new HtmlElement("a", array("name" => "pName" . $tagNameIDs['p']))); } $lastIndexedParaCount = $tagNameIDs['p']; // create a set of divs where each div has a para $nestedDiv = new HtmlElement("div", array("class" => "nestedDiv", "name" => "nestedDiv")); $nestedPara = new HtmlElement("p", NULL, NULL, "nested para text"); $nestedDiv->addElement($nestedPara); $mainDiv->addElement($nestedDiv); for ($nestedDivCount = 0; $nestedDivCount < 15; $nestedDivCount++) { $newDiv = $nestedDiv->cloneMe(); $nestedDiv->addElement($newDiv); $nestedDiv = $newDiv; } // create a set of hrefs to the paras $linkDiv = new HtmlElement("div", array("class" => "linkDiv", "name" => "linkdivname")); $mainDiv->addElement($linkDiv); $ul = new HtmlElement("ul"); $linkDiv->addElement($ul); // 1 less link than there are paras off by one error for ($hrefCount = 0; $hrefCount < $lastIndexedParaCount; $hrefCount++) { $ul->addElement(new HtmlElement("li", NULL, array(new HtmlElement('a', array("href" => "#pName" . $hrefCount), NULL, "jump to para " . $hrefCount)))); } $mainDiv->addElement(new HtmlElement("div", array("class" => "this has multiple values", "name" => "multiValues"), array(new HtmlElement("pre", NULL, NULL, "within div of multiple class styles")))); $mainDiv->outputAsHTML(); print "\n"; ?> </body>