note 50346 added to ref.dom
| From: | markciliavincenti at NOSPAM dot gmail dot com | Date: | Fri, 25 Feb 2005 08:30:03 +0000 |
| Subject: | note 50346 added to ref.dom | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-85525@lists.php.net to get a copy of this message | ||
The dom_to_simple_array below doesn't seem to handle tags like <br/>.
I have played around with the function to make one that changes a DOM Node to HTML code, which
sometimes is very useful.
<?php
function dom_to_html($domnode) {
$domnode = $domnode->firstChild;
while (!is_null($domnode)) {
if (!(trim($domnode->nodeValue) == "")) {
switch ($domnode->nodeType) {
case XML_TEXT_NODE: {
echo utf8_decode($domnode->nodeValue);
break;
}
case XML_ELEMENT_NODE: {
$tag = $domnode->nodeName;
echo "<" . $tag;
if ($domnode->hasAttributes()) {
foreach ($domnode->attributes as $d_attribute) {
echo ' ' . $d_attribute->name . '="' .
utf8_decode($d_attribute->value) . '"';
}
}
echo ">";
break;
}
}
if ($domnode->hasChildNodes()) {
dom_to_html($domnode);
echo "</" . $tag . ">";
}
}
else { echo "<" . $domnode->nodeName . "/>"; }
$domnode = $domnode->nextSibling;
}
}
?>
----
Manual Page -- http://www.php.net/manual/en/ref.dom.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+50346
Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+50346&report=yes&reason=added+to+the+manual
Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+50346&report=yes&reason=bad+code
Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+50346&report=yes&reason=spam
Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+50346&report=yes&reason=useless
Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+50346&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+50346&report=yes
Search -- http://master.php.net/manage/user-notes.php