summaryrefslogtreecommitdiff
path: root/ext/tidy/examples/urlgrab5.php
blob: 875baf0cf90d2514e86a10354b1481c0122e74b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?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()));
?>