<?php
    /*
     * urlgrab5.php
     *
     * A simple command-line utility to extract all of the URLS contained
     * within <A HREF> tags from a document.
     *
     * NOTE: Only works with tidy for PHP 5, please see urlgrab.php for tidy for PHP 4.3.x
     *
     * By: John Coggeshall <john@php.net>
     *
     * Usage: php urlgrab5.php <file>
     *
     */
    function dump_nodes(tidyNode $node, &$urls = NULL) {

	$urls = (is_array($urls)) ? $urls : array();

	if(isset($node->id)) {
	    if($node->id == TIDY_TAG_A) {
		$urls[] = $node->attribute['href'];
	    }
	}

	if($node->hasChildren()) {

	    foreach($node->child as $c) {
		dump_nodes($c, $urls);
	    }

	}

	return $urls;
    }

    $a = tidy_parse_file($_SERVER['argv'][1]);
    $a->cleanRepair();
    print_r(dump_nodes($a->html()));
?>
