PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

tidy_node->next> <tidy_node->get_attr
Last updated: Fri, 10 Oct 2008

view this page in

tidy_node->get_nodes

(No version information available, might be only in CVS)

tidy_node->get_nodesReturn an array of nodes under this node with the specified id

Description

array tidy_node->get_nodes ( int $node_id )
Warning

This function is currently not documented; only its argument list is available.



add a note add a note User Contributed Notes
tidy_node->get_nodes
brutuscat at gmail dot com
12-Dec-2006 06:05
Another method more efficient
<?php
   
function get_nodes2($node, $type, &$result)
    {
      if(
$node != null)
      {
        if(
$node->id == $type)
         
$result[] = $node;
        if(
$node->child != null)
        {
          foreach(
$node->child as $child)
          {
           
get_nodes2($child, $type, &$result);
          }
        }
      }
    }
?>
Chuck Renner
27-Oct-2006 05:59
I have found no documentation on this method, and it is not part of PHP 5.1.2 .  I am guessing as to its use in the example below.  I hope this helps anyone who does have access (perhaps with a CVS-based build of PHP) to this method.  I also hope that this method will be available soon.

<?php
// call a function which prints all the IMG nodes in a URI
print_img_nodes_for_uri("http://www.php.net/");
function
print_img_nodes_for_uri($uri) {
   
// create a tidy object for the uri given
   
$tidy->parseFile($uri);
   
// clean the tidy object
   
$tidy->cleanRepair();
   
// get the cleaned output and put it in a tidy_node
   
$tidy_output = tidy_get_output($tidy);
   
// get just the body and put it in a tidy_node
   
$body = tidy_get_body($tidy);

   
// using tidy_node->get_nodes on the tidy_node $body
    // with the TIDY_TAG_IMG constant, build an array of
    // all the IMG nodes

    // This produces a FATAL ERROR in PHP 5.1.2:
    // Fatal error: Call to undefined method tidyNode::get_nodes()
    // I do not know what in what version of PHP this method
    // will be available

   
$img_nodes = $body->get_nodes(TIDY_TAG_IMG);

   
// begin printing the IMG nodes
   
print("<br>\n --- Begin img nodes for $uri --- <br>\n");
   
// using foreach, loop through each IMG node
   
foreach( $img_nodes as $img_node ) {
       
// print the current node, using htmlspecialchars() to convert
        // HTML characters to web printable format
       
print("img_node=" . htmlspecialchars($img_node) . "<br>\n");
    }
   
// finish printing the IMG nodes
   
print("<br>\n --- End img nodes for $uri --- <br>\n");
    return(
0);
}
?>

tidy_node->next> <tidy_node->get_attr
Last updated: Fri, 10 Oct 2008
 
 
show source | credits | sitemap | contact | advertising | mirror sites