lefsaker Skrevet 10. august 2007 Skrevet 10. august 2007 Jeg benytter dette scriptet for å hente fram de 3 siste inleggene i databasen: <?php $sistefilmersql = "SELECT * FROM filmer ORDER BY id DESC"; $sistefilmerquery = mysql_query( $sistefilmersql ); while( $sistefilmerrad = mysql_fetch_assoc( $sistefilmerquery ) ) { echo '<a target="_blank" href="'; echo $sistefilmerrad['url']; echo '">'; $sistefilmertext = $sistefilmerrad['navn']; $sistefilmernewtext = wordwrap($sistefilmertext, 25, "<br />\n"); echo $sistefilmernewtext; echo '</a><br />'; } ?> Men jeg vil at hvis setningen er lengre enn 25 tegn, så skal den kutte ut resten og legge til "..." på slutten. Eksempel: Pedofile tas på direkten i USA Blir til: Pedofile tas på direkten i USA Vil ha: Pedofile tas på direkten... Må jeg benytte meg av en annen funksjon enn wordwrap, eller er det bare å modifisere litt?
lefsaker Skrevet 10. august 2007 Forfatter Skrevet 10. august 2007 (endret) Det var ikke verre nei Tusen takk Edit: Mulig jeg er pirkete, men er det mulig å gjøre så "..." ikke kommer etter setninger som er kortere enn 25 tegn? Endret 10. august 2007 av lefsaker
endrebjo Skrevet 10. august 2007 Skrevet 10. august 2007 (endret) Det kommer litt an på hvor pent det skal se ut. I mange tilfeller kan det bli slik hvis du setter en fast tegnbredde: En pedofil tas på dir... (kan være 'direkten', 'direktørens kontor' eller 'direktorat for vann og avløp') Eller enda verre hvis første setning inneholder noe html-formatering: En pedofil ble tatt p&ari... (skulle vært å som blir oversatt til å). Edit: Som en kommentar til nevoscripts enkle løsning. Edit2: Og novascript kunne like gjerne brukt wordwrap() og fått penere og mer forståelig (semantisk) kode. Endret 10. august 2007 av endrebjorsvik
lefsaker Skrevet 10. august 2007 Forfatter Skrevet 10. august 2007 En pedofil tas på dir... (kan være 'direkten', 'direktørens kontor' eller 'direktorat for vann og avløp') I lol'd Men setningene inneholder ingen rare tegn eller HTML Det ser bare så dumt ut når det står "..." etter en kort setning.
endrebjo Skrevet 10. august 2007 Skrevet 10. august 2007 if (strlen($string) <= 25) { // Print som vanlig } else { // Chop, chop }
Lokaltog Skrevet 11. august 2007 Skrevet 11. august 2007 Eller en syntaks jeg synes er mer elegant: PHP echo (strlen($string) <= 25 ? $string : substr($string, 0, 25) .'...');
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å