note 50349 added to ref.dom

From: Date: Fri, 25 Feb 2005 11:42:34 +0000
Subject: note 50349 added to ref.dom
Groups: php.notes 
Request: Send a blank email to php-notes+get-85531@lists.php.net to get a copy of this message
There was a problem with the code I posted in that it didn't allow for empty tags with attributes (eg <img src="test.gif"/>) Here is the updated code: <?php function dom_to_html($domnode) { $temp = ''; $domnode = $domnode->firstChild; while (!is_null($domnode)) { if (!(trim($domnode->nodeValue) == "")) { switch ($domnode->nodeType) { case XML_TEXT_NODE: { $temp .= utf8_decode($domnode->nodeValue); break; } case XML_ELEMENT_NODE: { $tag = $domnode->nodeName; $temp .= "<" . $tag; if ($domnode->hasAttributes()) { foreach ($domnode->attributes as $d_attribute) { $temp .= ' ' . $d_attribute->name . '="' . utf8_decode($d_attribute->value) . '"'; } } $temp .= ">"; break; } } if ($domnode->hasChildNodes()) { $temp .= dom_to_html($domnode); $temp .= "</" . $tag . ">"; } } else { $temp .= "<" . $domnode->nodeName; if ($domnode->hasAttributes()) { foreach ($domnode->attributes as $d_attribute) { $temp .= ' ' . $d_attribute->name . '="' . utf8_decode($d_attribute->value) . '"'; } } $temp .= "/>"; } $domnode = $domnode->nextSibling; } return $temp; } ?> ---- Manual Page -- http://www.php.net/manual/en/ref.dom.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+50349 Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+50349&report=yes&reason=added+to+the+manual Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+50349&report=yes&reason=bad+code Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+50349&report=yes&reason=spam Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+50349&report=yes&reason=useless Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+50349&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+50349&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#85531) next »