runnerjp Posted February 17, 2009 Share Posted February 17, 2009 i have some script set up to see if a website is vaild.. what im doing is on my 1st page using a textbox to add a number of websites wuch as website1 website2 then using the code to extract them sites from the db and provide links to them... <?php function url($link, $text='') { // Ensure $link is a valid URL $url = url_resolve($link); $fp = @fopen($url, 'r'); if (!$fp) { $title = (!$text ? $link : $text); return "(Broken Link: $link". ($text ? ": {$text}" : "") .")"; } // Grab <title>*</title> from the first "chunk" of data $title = url_grab_title($fp); // No <title> tag in first chunk... if (!$title) { $title = (!$text ? $link : $text); return "<a href='$url'>$title</a>"; } // User gave me some text to append to the link title if ($text) { $title .= ': '. $text; } return "<a href='$url'>$title</a>"; } function url_resolve($url) { global $url_site_domain; if (!preg_match('/^(http|ftp):/', $url)) { // assume it's not "server.tld" and instead "/dir/file.ext" if (!preg_match('/\.(com|net|org|co|uk|edu|info|biz)/', $url)) { $url = $url_site_domain .'/'. $url; } } return 'http://'. preg_replace('/\/\//', '/', $url); } // Fetch a "chunk" of data and look for <title> in it function url_grab_title($fp) { // How many bytes to grab in one chunk. // Most sites seem to have <title> within 512 $chunk_size = 512; $chunk = fread($fp, $chunk_size); $chunk = preg_replace("/(\n|\r)/", '', $chunk); // Look for <title>(.*?)</title> in the text if (preg_match('/<title>(.*?)<\/title>/i', $chunk, $matches)) { return $matches[1]; } return null; } // Run this to test the code function url_test() { print url('hurring.com') ."\n"; // <a href='http://hurring.com'>Hurring.com</a> print url('google.com') ."\n"; // <a href='http://google.com'>Google</a> print url('hurring.com', 'Append me') ."\n"; // <a href='http://hurring.com'>Hurring.com: Append me</a> print url('/code/php/') ."\n"; // <a href='http://hurring.com/code/php/'>Hurring.com: Code: PHP</a> print url('/code/php/', "Append me") ."\n"; // <a href='http://hurring.com/code/php/'>Hurring.com: Code: PHP: Append me</a> print url('groups.yahoo.com/groups/alhkjter/') ."\n"; // <a href='http://groups.yahoo.com/groups/alhkjter/'>groups.yahoo.com/groups/alhkjter/</a> print url('groups.yahoo.com/groups/alhkjter/', 'Pirates') ."\n"; // <a href='http://groups.yahoo.com/groups/alhkjter/'>Pirates</a> print url('garbage') ."\n"; // (Broken Link: garbage) print url('garbage', 'Pirates') ."\n"; // (Broken Link: garbage: Pirates) } mysql_connect("localhost", "runningp", "runnerjp2003") or die(mysql_error()); mysql_select_db("runningp_1") or die(mysql_error()); $code = $_GET['id']; $geturls = mysql_fetch_assoc(mysql_query("SELECT * from url where id='$code'")); if (!$geturls) { die(mysql_error()); } foreach(explode("\n",$geturls['url1']) as $line) { print url($line) ."\n";?> <br \> <? } ?> the thing is if i seem to add multipul addresses my code only works out 1 address and uses the rest as broken link... cna any 1 aid me in fixing this? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.