Gå til innhold

Forkorte innhold i en variabel


Anbefalte innlegg

Jeg bruker denen linjen for å vise en variabel...

 

echo ucfirst(str_replace("_", "%20", "$show"));

 

Nå ønsker jeg å legge inn en substr() for å kutte innholdet hvis det er over 30 tegn.. Jeg er usikker på hvor jeg skal plassere substr() i linjen...

 

substr($show, 0, -30);

 

Noen som kan hjelpe?

 

edit:

Ser jo nå at jeg bruker substr() på feil måte. Nå fjerner den jo 30 siste tegnene i variabelen uansett lengde... Noen tips for å kun vise 30 tegn?

Endret av lobster
Lenke til kommentar
Videoannonse
Annonse

gjør det etter på, for at %20 er tre tegn, og du kan være uheldig med at % er tegn nr. 29, og da blir strengen din "øldkjøfalkjdøflkdlfj aldøf %2".

 

btw, du trenger ikke gåseøyner rundt $show.

 

edit: bare at det ikke skal være -30, men 30. ellers får du de 30 siste tegnene

 

edit2: se på http://php.net/rawurldecode

Endret av MC2
Lenke til kommentar
mener du at at du legge til noe på slutten av stringen hvis den har blitt kortet ned?

 

if(strlen($show) > 30)
   $show .= "...";

legges etter det med substr og det der...

6631511[/snapback]

Blir ikke det litt feil? Etter substr vil alltid strengen vaere 30 eller kortere...

 

Han maa vel kjoere en sjekk foer formattering, slik:

$length = 30; // hvor lang skal strengen vaere?
$show = rawurldecode($show); // dekode strengen din

if (strlen($show) > $length) {$trailing = "...";} // sjekker lengde foer begrensning

$show = substr($show,0,$length); // begrense til $length bokstaver
$show = ucfirst($show); // formatering

if (!empty($trailing)) {$show .= $trailing;} // evt. legg til $trailing

 

(litt rot, men les kommentarene saa gaar det sikkert bra ;)

Endret av gozzer
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...