Avatar billede flash-man Nybegynder
23. oktober 2003 - 18:14 Der er 7 kommentarer og
1 løsning

Læse hver linje for sig i et txt-dokument?

Hejsa Eksperter!!

Jeg fandt dette script til at dele tekst op fra et txt-dokument men til det formål jeg skal bruge det, kræver det at scriptet osse læser hver linje i dokumentet som en ny række.

<?
$datafile = fopen("fil.txt","r");
$data = fread($datafile, 1000000);
list($navnlaes, $beskedlaes) = explode("|",$data);
// $besked = stripslashes("$besked");
echo "<b>$navnlaes skrev</b>:<br>$beskedlaes<p>";
?>

Tag f.eks. hvis indholdet af fil.txt var:

Hans|Besked nummer et
Jens|Besked nummer to
Mikael|Besked nummer tre

At jeg så fik resultatet på hjemmesiden:

<b>Hans skrev</b>:<br>Besked nummer et<p>
<b>Jens skrev</b>:<br>Besked nummer to<p>
<b>Mikael skrev</b>:<br>Besked nummer tre<p>

Håber I forstår hvad jeg mener..
Avatar billede sukos Juniormester
23. oktober 2003 - 18:32 #1
<?php
$fil = file("fil.txt");

for ($i = 0; $i < count($fil); $i++) {
$fil[$i] = trim($fil[$i]);
$fil[$i] = str_replace("|", "", $fil[$i]);
echo $fil[$i] ."<br>\n";
  }
?>
Avatar billede flash-man Nybegynder
23. oktober 2003 - 18:40 #2
sukos >> Dit script virker jo meget fint, men jeg har brug for at kunne tilføje noget tekst på hver side af de to variabler som jeg ellers havde fået fremkaldet i mit eget script... kan det lade sig gøre med dit?
Avatar billede sukos Juniormester
23. oktober 2003 - 18:43 #3
Nu er jeg ikke med?
skal der vises noget andet både før og efter hver linie?
Avatar billede flash-man Nybegynder
23. oktober 2003 - 18:45 #4
ligesom jeg viste i min beskrivelse af spm'et... så bliver det der står på hver side af "|" delt op til en variabel som jeg så bruger nedenunder i denne linje

echo "<b>$navnlaes skrev</b>:<br>$beskedlaes<p>";
Avatar billede sukos Juniormester
23. oktober 2003 - 19:03 #5
<?php
$fil = file("fil.txt");

for ($i = 0; $i < count($fil); $i++) {
$fil[$i] = trim($fil[$i]);
$fil[$i] = explode("|", $fil[$i]);
echo"<b>". $fil[$i][0] ." skrev</b>:<br>\n". @$fil[$i][1] ."<p>\n";
  }
?>

@ foran $fil[$i][1] sikrer der ikke kommer en fejl, hvis nu $fil[$i][1] er tom
Avatar billede flash-man Nybegynder
23. oktober 2003 - 19:10 #6
Sådan! Nu virker det! tak for hjælpen... smid et svar, så får du dine fortjente points...
Avatar billede sukos Juniormester
23. oktober 2003 - 19:11 #7
ok! :O)
Avatar billede sukos Juniormester
23. oktober 2003 - 19:12 #8
Og så måske nok lige bruge:

<?php
$fil = file("fil.txt");

for ($i = 0; $i < count($fil); $i++) {
$fil[$i] = trim($fil[$i]);
if($fil[$i] == "") {
continue; //Hvis linien er tom, så fortsæt
}
$fil[$i] = explode("|", $fil[$i]);
echo"<b>". $fil[$i][0] ." skrev</b>:<br>\n". @$fil[$i][1] ."<p>\n";
  }
?>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester