Avatar billede donslund Nybegynder
12. juli 2003 - 19:59 Der er 3 kommentarer og
1 løsning

do...while i uendelig løkke.

Hvorfor kører dette i en uendelig løkke?

do {
    if (substr($row[news], $nummer) == " ") {
      $tekst = substr($row[news], 0, $nummer)."...";
        $ok = "yes";
    } else {
        $ok = "no";
        $nummer = ($nummer - 1);
    }
} while ($ok != "yes");
Avatar billede Slettet bruger
12. juli 2003 - 21:25 #1
Fordi substr($row[news], $nummer) aldrig bliver lig med " "...

Hvad skal koden gøre godt for?
Avatar billede donslund Nybegynder
13. juli 2003 - 20:53 #2
jeg vil finde ud af om tegn nummer 50 er et mellemrum. Hvis den er det, skal teksten kortes af der. Er det ikke et mellemrum, skal den forsøges med tegn nummer 49 og så videre indtil den finde et mellemrum.
Avatar billede mickeyboy Nybegynder
14. juli 2003 - 14:39 #3
Så skal du også sørge for at standse, når du er kommet til starten af teksten

$nummer = 50;
do {
    if (substr($row[news], $nummer) == " ") {
      $tekst = substr($row[news], 0, $nummer)."...";
        $ok = "yes";
    } else if ($nummer == 1) {
        $ok = "yes";
    } else {
        $ok = "no";
        $nummer = ($nummer - 1);
    }
} while ($ok != "yes");
Avatar billede jakoba Nybegynder
14. juli 2003 - 15:54 #4
kik evt på den indbyggede funktion strrpos http://dk.php.net/manual/en/function.strrpos.php

$nr = strrpos( substr($row[news], 0, 50), " " );

if ( $nr === false ) {
    // intet blanktegn fundet
} else {
    // der blev fundet et blanktegn
    echo substr($row[news], 0, $nr) ." ...";
}

mvh JakobA
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