Först. Att läsa en byte i taget är lite segt. Öka på siffran lite, t.ex
$content .= fgets($fp, 1024);
Du vet hur koden ser ut där den börjar. Hur ser den ut efter dina 100 rader ?
För att ta fram sidans innehåll efter <!--BEGIN_OLD_LINKS-->
preg_match("/<!--BEGIN_OLD_LINKS-->(.*)/si", $content, $match);
Nu finns detta innehåll i variabeln $match[1].
Nu skulle man ha kunnat dela upp denna kod i en array, behållit 100 rader samt slått ihop arrayen till sträng igen.
Men enklare hade det varit om du vetat hur koden såg ut efter de hundra raderna.
Då hade du gjort så här för att begränsa hur långt du ska hämta
preg_match("/<!--BEGIN_OLD_LINKS-->(.*?)kod_efter/si", $content, $match);
Alternativt kunde du fixat något redan när du läste filen:
$url = 'http://www.websidan.com/filen.shtml';
$content = '';
$i = 0;
if ($fp = @fopen($url, "r")) {
while (!feof ($fp)) {
$line = fgets($fp, 1);
if (false !== stristr('<!--BEGIN_OLD_LINKS--> ') || $i > 0) {
$content .= $line;
// Eventuellt, då jag inte minns om fgets tar med radslutsmärke eller ej
// $content .= $line."\n";
$i++;
}
if ($i == 100) {
break;
}
}
fclose($fp);
} else {
echo "Gick inte att hämta från $url";
}
?>
PS
fopen-delen hade du redan fixat i och med att du fick hem ditt värde till $content
Vad frågan handlade om var hur du kunde ta ut en viss del av innehållet du hämtade.
