Avatar billede straszek Praktikant
18. september 2005 - 15:47 Der er 4 kommentarer og
1 løsning

af kortning af tekst streng

Hvordan afkorter jeg en tekst streng så den stopper efter det først mellemrum efter 20 tegn?
Avatar billede jaw Nybegynder
18. september 2005 - 16:04 #1
Ved ikke om der allerede er en decideret funktion til det - jeg kender den i hvert fald ikke lige umiddelbart - men jeg har lavet noget til dig her:

$str = "";
for($i = 0; $i < strlen($ord); $i++) {
  if($i < 20) {
    $str .= $ord[$i];
  } else {
    if($ord[$i] != " ") {
      $str .= $ord[$i];
    } else {
      break;
    }
  }
}
Avatar billede jaw Nybegynder
18. september 2005 - 16:08 #2
Måske en lille smule mere korrekt + med en tester:

$ord = "Dette er en test, der skal fange første mellemrum efter 20 tegn";
$str = "";
for($i = 0; $i < strlen($ord); $i++) {
  if($i <= 20) {
    $str .= $ord{$i};
  } else {
    if($ord{$i} != " ") {
      $str .= $ord{$i};
    } else {
      break;
    }
  }
}
echo $str;
Avatar billede straszek Praktikant
18. september 2005 - 16:41 #3
det virker fint - smid et svar :-)
Avatar billede jaw Nybegynder
18. september 2005 - 16:42 #4
Vil jeg så gøre :)
Avatar billede jgivoni Nybegynder
18. september 2005 - 17:13 #5
Der er nogle funtioner, der kan gøre det kortere:

$ord = "Dette er en test, der skal fange første mellemrum efter 20 tegn";
$str = split( " ", substr( $ord, 20 ) );
$str = substr( $ord, 0, 20 ) . $str[0];

echo $str;

Hvis du derimod vil afkorte strengen ved sidste mellemrum INDEN de 20, er det endnu kortere:

list($str) = split( "\n", wordwrap( $ord, 20 ) );
echo $str;
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