Avatar billede Slettet bruger
28. januar 2010 - 13:36 Der er 8 kommentarer og
1 løsning

Forkortelse af tekst udskrevet fra database

Hej.
Når jeg udskriver en tekst fra min database, så vil jeg gerne forkerte det til f.eks. 255 tegn, da det skal være en teaser.

Hvordan laver jeg denne forkortelse, så den kun udskriver f.eks. 255 tegn og man så skal trykke for at se resten (på en ny siden som url)....

Udskriver min tekst fra databasen med dette:

<?php echo $row['overskrift'];?>

Mvh.
Henrik
Avatar billede michael_stim Ekspert
28. januar 2010 - 13:45 #1
Den lette:

$teaser = substr($row['overskrift'], 0, 255);
echo $teaser."...<br>";
echo"<a href=\"dinsti.dk?id=".$row['id']."\" target=\"_blank\">Klik her for at læse hele nyheden</a>

Og så laver du bare en side der fanger id'et og udskriver teksten med det id.
Avatar billede michael_stim Ekspert
28. januar 2010 - 13:46 #2
Hov glemte at afslutte php'en i ankeret:
echo"<a href=\"dinsti.dk?id=".$row['id']."\" target=\"_blank\">Klik her for at læse hele nyheden</a>";
Avatar billede showsource Seniormester
28. januar 2010 - 14:08 #3
Og der er jo ingen grund til at vælge mere fra db end nødvendigt:
SELECT LEFT(feltnavn, 255) as teaser FROM dintabel

while()
echo"<a href='read.php?id=".$row["id"]."'>".$row["teaser"]."</a>";
}
Avatar billede Slettet bruger
28. januar 2010 - 15:25 #4
Super... Takker....
Prøver det lige af.. :-)
Avatar billede stinejh1980 Nybegynder
29. januar 2010 - 09:23 #5
Vil bare lige sige at:
SELECT LEFT(feltnavn, 255) as teaser FROM dintabel

Ikke bliver så kønt et resultat. Tegn nr 255 kan være i midten af en ord :-)

Det er det bedst med noget SubString og LastIndexOf " " (hvis man da gør dette i PHP)
Avatar billede michael_stim Ekspert
29. januar 2010 - 11:02 #6
Du har helt ret elvstine. flx>>Du kan gå ind på php.net og hente en funtion der deler stringen ved et helt ord:

http://php.net/manual/en/function.substr.php
Avatar billede showsource Seniormester
29. januar 2010 - 12:02 #7
ex.

$str = "Her er noget tekst som der skal vises en del af uden at dele midt i et ord";

$last = strrpos($str, " ");

if($last === false) {

echo $streng;

}else{

echo substr($str, 0, $last);

}
Avatar billede Slettet bruger
13. oktober 2010 - 11:07 #8
Vil du have svar showsource, så bare smid svar. :-)
(Lidt forsinket) ;-)
Avatar billede showsource Seniormester
13. oktober 2010 - 19:10 #9
njaahh
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