Sætte en max-længde på ord?!?

Tags:    php

Hej

Jeg har lavet et lille postsystem, men alt bryder synder og sammen hvis nogen poster et 400-bogstaver langt ord (pga. manglende linieskift osv).

Kan jeg derfor på en eller anden måde, inden jeg viser en post, dele ord der er over f.eks. 20 bogstaver lange?

Jonas



7 svar postet i denne tråd vises herunder
5 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Forkert post !!!



Indlæg senest redigeret d. 08.06.2006 20:29 af Bruger #6080
Mathias, det lyder indviklet.

Brug wordwrap()

http://php.net/wordwrap



if(length($_POST['test'])) {
print "error";
} else {
print "Not Error";
}



wordwrap kan en masse fikse ting.



Jeg tror jeg prøver Mathias ide, fordi wordwrap() har jeg "forkastet". Fordi wordwrap udfører jo bare en given handling efter så og så mange tegn, men det jeg har brug for er at finde alle ord der er over en vis længde og dele dem i to.

Fandt denne funktion på php.net:
Fold kodeboks ind/udKode 

Den deler alle ord større en $limit op i flere dele.



Indlæg senest redigeret d. 10.06.2006 17:25 af Bruger #4479
Hej

Jeg har lavet et lille postsystem, men alt bryder synder og sammen hvis nogen poster et 400-bogstaver langt ord (pga. manglende linieskift osv).

Kan jeg derfor på en eller anden måde, inden jeg viser en post, dele ord der er over f.eks. 20 bogstaver lange?

Jonas

explode http://dk2.php.net/manual/en/function.explode.php
strlen http://dk2.php.net/manual/en/function.strlen.php
og substr http://dk2.php.net/manual/en/function.substr.php
Du har din post kaldet $post, den deler du op med explode. Derefter tjekker du alle ellementerne i arrayet, og hvis nogen har en længde (fået med strlen) større end 20, så deler du den op med substr.



Jeg tror jeg prøver Mathias ide, fordi wordwrap() har jeg "forkastet". Fordi wordwrap udfører jo bare en given handling efter så og så mange tegn, men det jeg har brug for er at finde alle ord der er over en vis længde og dele dem i to.



t