Gilbert Skrevet 26. september 2004 Del Skrevet 26. september 2004 Strpos finner ikke punktumene mine. <?php $strpos = strpos("$text",'.',3); substr($text,0,$strpos) ?> All tekst blir kuttet etter bare 1. punktum, og det er vel ikke riktig? Lenke til kommentar
kakkle Skrevet 26. september 2004 Del Skrevet 26. september 2004 Det blir riktig det... strpos("$text", '.', 3) - Leter etter det første punktumet fra det tredje tegnet. Returnerer posisjonen til tegnet.' substr($text, 0, $strpos) - Returnerer strengen fra tegn 0 til og med det første punktumet. Derfor blir det riktig at all tekst etter det første punktumet blir kuttet. Men det er vel neppe det du vil ? Lenke til kommentar
Gilbert Skrevet 26. september 2004 Forfatter Del Skrevet 26. september 2004 (endret) kult... i den forstand at jeg lærte noe nytt Du har rett, jeg vil gjerne plukke ut de tre første setningene, og tenkte det var naturlig å lete etter punktum nr tre. Hvordan skal jeg nå løse dette? edit: fant på en non-proff-måte, $strpos = strpos($text,'. ',0); $strpos = strpos($text,'. ',$strpos)+1; $strpos = strpos($text,'. ',$strpos)+1; $strpos = strpos($text,'. ',$strpos)+1; du verden Endret 26. september 2004 av fjartan Lenke til kommentar
kakkle Skrevet 27. september 2004 Del Skrevet 27. september 2004 (endret) evt.: <? $str = "Dette er setning 1. Dette er setning 2. Dette er setning 3. Dette er setning 4. Dette er setning 5. Dette er setning 6. "; $teller = 0; $pos = 0; $nystr= ""; while ($teller < 3) { if(strpos($str, ".", $pos)) { $pos = strpos($str, ".", $pos)+1; $teller ++; } else { $teller = 3; } } $nystr .= substr($str, 0, $pos); print "$str<br>$nystr"; ?> Ikkje så veldig kort kode dette heller, kan være det finnes en mye enklere måte, da... EDIT: Det forutsetter egentlig at ingen bruker ... etter hverandre, som jeg har en tendens til å gjøre ofte... :-) Endret 27. september 2004 av kakkle Lenke til kommentar
Torbjørn Skrevet 27. september 2004 Del Skrevet 27. september 2004 hofteskyting, test gjerne en runde eller to: $kuttet_tekst = preg_replace("/^(.*\..*\..*\.)/","$1",$lang_tekst); Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå