1. Du läser bara in de 10 första raderna, vilka är helt tomma. Själva HTML-koden startar först på rad 15 och den första länken som skulle kunna matcha ditt reg-uttryck finns på rad 300.
2. Om ditt reguljära uttryck inte uppfylls vid kontroll av den första inlästa raden så kommer scriptet att avbryta med die().
3. Ditt reguljära uttryck är något felaktigt.
Så här skulle du kunna göra:
<?
$stock = fopen("http://www.searchfeed.com/rd/SearchResults.jsp?SearchString=internet", "r");
if (!$stock) {
die("Får ingen kontakt med sidan.\n");
}
$i = 0;
$max = 350;
$result = "inget data funnet";
while (!feof($stock) || $i == $max) {
$line = fgets($stock, 1024);
$i++;
if (eregi(".*<a href='/rd/AdvertiserInfo.jsp'>(.*)</a>", $line, $out)) {
$result = $out[1];
break;
}
}
fclose($stock);
echo "$result<br>";
?>
> Läs in nya rader tills dess att slutet nåtts eller det att maxgränsen uppnåtts.
> Om en rad matchar det reguljära uttrycket, lägg till det utplockade värde i $result och avbryt loopen, annars fortsätta läsa rader.
> Skriv ut $result. Om inget data hittats så kommer $result att innehålla standardvärdet "inget data funnet", annars innehåller den det utplockade värdet.
------------------ Peer's Law
The solution to a problem changes the problem.