Avatar billede technodance.dk Nybegynder
24. september 2003 - 14:38 Der er 4 kommentarer og
3 løsninger

kort ned til 10 ord fra en lang tekst?

Hej ??


Jeg vil godt kunne fra nyheder kun vis 10 ord af nyheden og så kommer der 3 ... og et link som hedder "Læs mere"

kan hjælp med mig det
Avatar billede hmortensen Nybegynder
24. september 2003 - 14:41 #1
du kan få vist antal ord med substr

$txt = substr($txt,0,100);
der starter den ved først tegn, og tar 100
Avatar billede hmortensen Nybegynder
24. september 2003 - 14:41 #2
antal tegn skulle der self stå
Avatar billede skovenborg Nybegynder
24. september 2003 - 15:39 #3
<?php
$text = "Dette er en nyhed der højest må vise 10 ord, og det er så det dette script gør";
$arr = explode(" ",$text);
for ($i=0;$i<10;$i++)
{
    echo $arr[$i]." ";
}
echo "...<a href=\"link.php\">Læs mere</a>";
?>
Avatar billede egeriis Nybegynder
24. september 2003 - 16:10 #4
<?

function substr_word ($str)
{

  $array = str_word_count ($str, 1);

  for ($i=0; $i < 10; $i++)
  {

      $str .= $array[$i];

  }

  return $str;

}


$string = "En tekst hvoraf der kun skal vises 10 ord, så teksten skal indeholde lidt mere end 10 ord.";
echo substr_word ($string);

?>
Avatar billede velle Nybegynder
25. september 2003 - 01:32 #5
<?
$inpstr = "Kronprins Pingo og Mary McDonalds skal giftes, annoncerede hofmarskallen i formiddags ved et pressemøde. ";
$separator = ' ';

$outpstr = strtok($inpstr,$separator);
for ($i = 1; $i <= 10; $i++) {
    $token = strtok($separator);
    $outpstr .= " ".$token;
    if (!$token)
        break;
}

echo $outpstr;

/*
strtok() returnerer en string (ikke en variabel som explode() ). Første gang, den kaldes bruges to argumenter. Det første argument er den streng, hvorfra der udtages en delstreng (i dit tilfælde ord). Det andet argument er det (eller de) tegn der markerer hvor $inpstr skal separeres. Dvs. ved første kald af strtok() fås "Kronprins". Ved de efterfølgende kald bruges kun et argument, nemlig separatoren. Strtok har nærmest en "cursor", som den kører gennem $inpstr, og hver gang funktionen kaldes returneres den følgende delstreng frem til næste gang den støder på seperatoren.

Hver gang funktionen kaldes med to argumenter vil den starte forfra i $inpstr.

$separator kan godt bestå af flere tegn. I så fald vil den søge indtil den finder et af tegnene.

Jeg vil tro at denne metode er hurtigere end at bruge str_word_count() eller explode(), især hvis teksten er meget lang, da disse to metoder læser hele nyhedsteksten, mens min metode kun læser de første 10 ord.
*/
?>
Avatar billede technodance.dk Nybegynder
27. september 2003 - 12:56 #6
jeg vil kunne indsætte en echo der hvor min nyhed skal være og så den gå op og henter den vider en $nyhed
Avatar billede technodance.dk Nybegynder
04. januar 2004 - 06:50 #7
tak men ikke helt oki
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