summaryrefslogtreecommitdiff
path: root/ext/tidy/examples/urlgrab5.php
diff options
context:
space:
mode:
Diffstat (limited to 'ext/tidy/examples/urlgrab5.php')
-rw-r--r--ext/tidy/examples/urlgrab5.php39
1 files changed, 39 insertions, 0 deletions
diff --git a/ext/tidy/examples/urlgrab5.php b/ext/tidy/examples/urlgrab5.php
new file mode 100644
index 0000000..875baf0
--- /dev/null
+++ b/ext/tidy/examples/urlgrab5.php
@@ -0,0 +1,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()));
+?>