Avatar billede remis Nybegynder
12. marts 2006 - 19:55 Der er 14 kommentarer og
1 løsning

Slet alt efter X antal <br>

Hejsa

Hvad skal jeg skrive hvis jeg vil slette alt indhold efter nr. 20 '<br>' i en .txt-fil?

-Remiz
Avatar billede hmortensen Nybegynder
12. marts 2006 - 20:57 #1
Har lavet en metode her til at finde indexet på x'ende strengfremkomst:

function better_strpos($haystack, $needle, $no)
{
    $index = 0;
    for ($x = 0; $x < $no; $x++)
    {
        $index = strpos($haystack, $needle, $index + 1);
    }
    return $index;
}

Så kan du gøre noget i den retning her:

if ($i = better_strpos($str, "<br>", 20))
  $nyStr = substr($str, 0, $i);
else
  die("Streng ikke fundet antal gange som forventet af input");
Avatar billede remis Nybegynder
12. marts 2006 - 21:45 #2
hvad definere $i?
Avatar billede hmortensen Nybegynder
12. marts 2006 - 21:48 #3
Det er indexet i strengen hvor det 20. <br> blev fundet, som så bruges i en substring.
Avatar billede remis Nybegynder
12. marts 2006 - 21:50 #4
ok så $i = txt-filen eller hvad? kan ikke helt gennemskue det
Avatar billede hmortensen Nybegynder
12. marts 2006 - 21:52 #5
Nej, $i bliver sat af funtionen oppe over.

$str = teksten fra txt filen.
Avatar billede remis Nybegynder
12. marts 2006 - 21:52 #6
det der undrer mig er at der både er $i og $str som er udefinerede... men jeg jo kun har een variabel (txtfilen)
Avatar billede remis Nybegynder
12. marts 2006 - 21:53 #7
ok... hvor bliver $i sat helt præcist?
Avatar billede hmortensen Nybegynder
12. marts 2006 - 21:53 #8
I if sætningen.
Avatar billede remis Nybegynder
12. marts 2006 - 21:55 #9
okay... troede bare den spurgte om $i er lig med noget... jeg roder lige lidt videre med det så...
Avatar billede hmortensen Nybegynder
12. marts 2006 - 21:56 #10
= sætter værdien.
== sammenligner værdien.
Avatar billede remis Nybegynder
12. marts 2006 - 22:08 #11
hmm kan ikke rigtig få det til at funke ordenligt. den sletter ALT indholdet efter 6 stk <br>. Vil du kikke på det?

<?
function better_strpos($haystack, $needle, $no)
{
    $index = 0;
    for ($x = 0; $x < $no; $x++)
    {
        $index = strpos($haystack, $needle, $index + 1);
    }
    return $index;
}
$filesize = filesize("bog.txt");
$filere = fopen("bog.txt","r");
$str = fread($filere, $filesize);
if ($i = better_strpos($str, "<br>", 20)){
  $nyStr = substr($str, 0, $i);
  $filewr = fopen("bog.txt","w");
fputs($filewr,"$nystr");
fclose($filewr);}
else
  {fclose($filewr);}
...osv
Avatar billede remis Nybegynder
14. marts 2006 - 09:55 #12
hm... Jeg kan ik få din function til at virke. Søgt på alt hvad der kan søges om det. Og er ik haj nok til at lave det selv. Så jeg giver op. Lukker sp.
Avatar billede remis Nybegynder
14. marts 2006 - 18:17 #13
Hep. Jeg ville lige prøve en aller sidste gang... Og nu virker det sq :)
Ret skal værre ret, så point til dig: http://www.eksperten.dk/spm/695125
Avatar billede hmortensen Nybegynder
14. marts 2006 - 19:59 #14
Hov, fik vidst overset mails fra dette spørgsmål. Godt du fik det til at virke :)
Avatar billede remis Nybegynder
14. marts 2006 - 20:03 #15
tak for hjælpen :)
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