I need help to make this script run without timing out. Below is the main fucntions. Any ideas?
function get_linkpop($domain,$engine)
{
if($engine == "1")
{
$url = "http://www.alltheweb.com/search?cat=web&lang=any&query=link.all:[DOMAIN]";
}
elseif($engine == "2")
{
$url = "http://www.google.com/search?hl=en&q=link:[DOMAIN]";
}
elseif($engine == "3")
{
$url = "http://search.msn.com/results.asp?RS=CHECKED&FORM=MSNH&v=1&q=linkdomain:[DOMAIN]";
}
//Fix Up Domain's and URL's
$domain = rawurlencode(trim($domain));
$url = eregi_replace("\[DOMAIN\]",$domain,$url);
$fp = fopen($url,"r");
if(!$fp) {die_kool("Could not connect to remote server [$url]");}
$html = "";
while (!feof($fp))
{
//Read Remote File Into variable 1000 bytes at a time.
$html .= fread($fp, 1000);
}
//die($html);
fclose($fp);
if($engine == "1")
{
$lines = split("[\n]","$html");
foreach ($lines as $line)
{
if(eregi("Displaying results",$line))
{
$line = eregi_replace("Displaying results <b>1-10</b> of <b>","",$line);
$line = eregi_replace("</b> pages found.{1,5}","",$line);
break;
}
}
}
elseif($engine == "2")
{
$lines = split("[\n]","$html");
foreach ($lines as $line)
{
if(eregi("of about <b>",$line))
{
$line = eregi(" about <b>.{1,10}</b>.",$line,$reg);
$line = str_replace(",","",$reg[0]);
$line = eregi("[0-9]{1,10}",$line,$reg);
$line = $reg[0];
break;
}
}
}
elseif($engine == "3")
{
$lines = split("[\n]","$html");
foreach ($lines as $line)
{
//Results 1-15 of about 63 containing 'linkdomain:animezen.net'
//Results\s[0-9]-[0-9]{0,10}\sof\sabout\s
//63 containing 'linkdomain:animezen.net'
if(eregi("Results.{1,90}containing",$line))
{
$line = eregi("about [0-9]{0,30} containing",$line,$reg);
$line = eregi_replace("(about )","",$reg[0]);
$line = eregi_replace("( containing)","",$line);
break;
}
}
}
//Get rid of white spaces and commas...and if no results give a 0 value.
$line = str_replace(",","",$line);
$line = trim($line);
//if($line == "" || !($line > 0) || $line != (int) $line) {$line = "0";}
if($line == "" || ereg("[a-zA-Z]",$line)) {$line = "0";}
return $line;
}