This one time, at band camp, "Lord Loh." <[EMAIL PROTECTED]> wrote:
> I am trying to make a link collector. > > after opening the desired page, I want to get all the hyperlinks on it... OK, this is quick and nasty, but you can add sanity/error checking etc as you please, but it shows you the concept.. <?php // tell me its broken error_reporting(E_ALL); class grabber{ function grabber(){ } function getLinks(){ // regex to get the links $contents = $this->getUrl(); preg_match_all("|http:?([^\"' >]+)|i", $contents, $arrayoflinks); return $arrayoflinks; } // snarf the url into a string function getUrl(){ return file_get_contents($_POST['url']); } } // end class ?> <html> <body> <h1>Link Grabber</h1> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <table> <tr><td>URL:</td><td><input type="text" name="url" maxlength="100" size="50" value="http://www.php.net"></td></tr> <tr><td><input type="submit" value="Grab em"></td></tr> </table> </form> <?php // check something was posted if(!isset($_POST['url']) || $_POST['url']=='') { // or tell them to echo 'Please Enter a Valid url'; } else { // create a new grabber $grab = new grabber; // snarf the links $arr=$grab->getLinks(); // check the size of the array if(sizeof($arr['0'])=='0') { // echo out a little error echo 'No links found in file '.$_POST['url']; } else { // filter out duplicates and print the results foreach(array_unique($arr['0']) as $val){ echo '<a href="'.$val.'>'.$val.'<br />'; } } } ?> </body></html> enjoy, Kevin -- ______ (_____ \ _____) ) ____ ____ ____ ____ | ____/ / _ ) / _ | / ___) / _ ) | | ( (/ / ( ( | |( (___ ( (/ / |_| \____) \_||_| \____) \____) Kevin Waterson Port Macquarie, Australia -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php