Avatar billede Gimhle Novice
23. april 2011 - 11:40 Der er 7 kommentarer og
1 løsning

Kan man sætte dato på et mellemrum ?

Hej!

Jeg har et php-script som læser en .txt-fil
Denne .txt-fil indeholder kalender-data som fjernes når tiden er udløbet.
Problemet er at summen af mellemrum gør, at kalenderlisten "skubbes" længere og længere ned i hjemmesiden.
Derfor den underlige overskrift: "Kan man sætte dato på et mellemrum?"
Spørgsmålet er: findes der en kode i txt-sprog som angiver linieskift/mellemrum som jeg så kan sætte en dato på ?

hilsen
Peter
Avatar billede The_Buzz Novice
23. april 2011 - 12:03 #1
Hvordan ser din txt fil ud?
Hvordan ser din funktion ud?
Avatar billede repox Seniormester
23. april 2011 - 12:03 #2
Dit spørgsmål virker som det rene sludder - et mellemrum er et mellemrum.
Der er ingen 'magiske tegn' i en tekstfil. Tekst er bare tekst?
Avatar billede Slettet bruger
23. april 2011 - 14:09 #3
Et gæt:
Du "visker ud" i txt-filen, ved at erstatte en tidligere "dato-linje" med ""
- men får så ikke fjernet linjeskiftet.

Du kan prøve at "viske ud" ved at erstatte den oprindelige "dato"+linjeskift
(som enten er "\n" eller "\r\n" ahængigt af katolsk/protestantisk jurisdiktion)

Men ærligt talt: Det er noget klamp at lave str_replace på en kæmpe tekst-fil.
- kig lidt på MySQL ved lejlighed, det er hurtigere og giver en bunke andre muligheder...
Avatar billede kjeldsted Novice
23. april 2011 - 12:47 #4
Jeg har lidt svært ved at tyde spørgsmålet.
Spørger du om man ud fra et mellemrum kan definere en dato???
Avatar billede Gimhle Novice
23. april 2011 - 13:04 #5
Hej The_Buzz

Hermed både php-script og txt-fil:

<?php
error_reporting(E_ALL);  // God ide med E_ALL mens man debugger!
date_default_timezone_set('Europe/Copenhagen');

$rosengaardenfil = file('rosengaarden.txt', FILE_IGNORE_NEW_LINES);

foreach($rosengaardenfil as $rosengaarden) {
    if(trim($rosengaarden)=='') {
        echo "<br>\n";
        continue;
    }
    $tidsinfo = substr($rosengaarden, 0, 16);
    if(time() > strtotime($tidsinfo)) continue; // Tiden er overskredet, så tag en ny runde
    $tekst = substr($rosengaarden, 17);
    echo $tekst, "<br>\n";
}
?>

txt-filen:
12-06-2011 10:30 <b>12. juni - Pinsedag</b>
12-06-2011 09:00 Kl. 09.00 - ?
12-06-2011 10:30 Kl. 10.30 - ?

13-06-2011 10:30 <b>13. juni - 2. pinsedag</b>
13-06-2011 10:30 Kl. 10.30 - ?

19-06-2011 10:30 <b>19. juni - Trinitatis søndag</b>
19-06-2011 09:00 Kl. 09.00 - ?
19-06-2011 10:30 Kl. 10.30 - ?
Avatar billede Slettet bruger
23. april 2011 - 14:13 #6
PS: Hvis det bare er fordi den VISER tomme linjer, så lad være med at udskrive tomme linjer:

foreach($rosengaardenfil as $rosengaarden) {
    if(trim($rosengaarden)=='') {
//        echo "<br>\n";
        continue;
    }
    $tidsinfo = substr($rosengaarden, 0, 16);
    if(time() > strtotime($tidsinfo)) continue; // Tiden er overskredet, så tag en ny runde
    $tekst = substr($rosengaarden, 17);
    echo $tekst, "<br>\n";
}
Avatar billede Gimhle Novice
25. juli 2011 - 00:49 #7
Hej TOM!

Dit forslag fixede problemet. Tak !!! :-)

Point kan tildeles :-)
Avatar billede Slettet bruger
25. juli 2011 - 07:40 #8
Godt at høre, omsider..
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