Bestimmte Zeile ausgeben

robertino

Mitglied
Hallo zusammen

Also ich weiss nicht wie ich das machen soll.
Nähmlich habe ich eine Textdatei : db.txt in der enthalten:
.......................................
scr2|Das ist das Script 2
dl5|Das ist Download Nummer 5
.......................................
vielleicht ein blödes Beispiel, aber was ich eigentlich erreichen mächte:

PHP:
$filedetails = file_get_contents("db.txt");
$filen = db.txt;
if(ereg ("dl5", $filedetails)) {
echo zeile2 --> $filen[1];
}

also damit will ich erreichen das es nach dem gewünschten wort sucht und die zeile wo es enthalten ist ausgibt ($filen[1]) .

Danke schon im Vorraus
 
Hallo,

Ich würde das so versuchen:

PHP:
$file = file("db.txt");
for($x=0;$x<count($file);$x++) {
   if(preg_match("%dl5%",$file[$x])) {
       echo "dl3 befindet sich in Zeile ".($x+1);
   } 
}

ist ungetestet sollte aber funktionieren ;)

MfG Funjoy
 
Hi Funjoy

Vielen Dank, leider haben Delimiter gefehlt und es kam immer zu dieser Meldung:
Delimiter must not be alphanumeric or backslash in ...

. Ich habe mich aber dann kurz über preg_match informiert und dann hats geklappt, für alle Die es interessieren:

PHP:
<?php
 $file = file("db.txt");
for($x=0;$x<count($file);$x++) {
if (preg_match("/\bdl3\b/i", $file[$x])) { // das \b ist glaube ich dafür zuständig das nur wörter die so heissen gefunden werden, und nicht dl34 
   echo "dl3 befindet sich in Zeile ".($x+1);
}
}
?>

mfg
 
Zurück