Avatar billede amews_aj Nybegynder
05. januar 2005 - 19:56 Der er 16 kommentarer og
1 løsning

wordwrap udviklet?

Kan jeg på en måde for wordwrap til ikke at dele mine sætninger op..

Det er vildt træls at den ikke bare deler op i selve ordet men mellem alle ordene

hvis jeg nu siger at den wordwrap(.....,"7",....);
Så deler den jo for hvert femte tegn

Hej hvo
rdan gå
r det?

aaaaaaa
aaaaaaa
aaaaaaa

Men kan jeg ikke få den til (eller med andet script) at gøre sådan her, hvor den kun deler lange ord

Hej hvordan går det?
aaaaaaa
aaaaaaa
aaaaaaa

Forstår i?
Avatar billede morteeart Nybegynder
05. januar 2005 - 19:58 #1
ikke uden at dele din tekst op i et array for hvert ord, og så bedømme længende , for derefter at lave wordwrap.

max besværligt.
Avatar billede amews_aj Nybegynder
05. januar 2005 - 20:00 #2
hmm.. er det noget du vil hjælpe mig med at lave, står og mangler det max meget ... :D
Avatar billede morteeart Nybegynder
05. januar 2005 - 20:08 #3
Faktisk er der en masse løsninger, hvis du gider læse dokumentationen, og specielt kommentarene dertil: http://se.php.net/wordwrap

nr. 1 ser faktisk god ud.
Avatar billede amews_aj Nybegynder
05. januar 2005 - 20:12 #4
har nemlig også kigget på nr 1, lød perf.

men, den siger bare at functionen imagettfbbox() ikke findes


:(
Avatar billede morteeart Nybegynder
05. januar 2005 - 20:14 #5
fordi at gdlib ikke er installeret på din server :P (dårlig server så!)

ellers ser de andre (f.eks. den sidste ?-) også god ud
Avatar billede morteeart Nybegynder
05. januar 2005 - 20:15 #6
eller mest genialt:

"It is also possible to consider this function as a tool for making text wrappable rather than simply for forcing wrapping.

In other words, use a space as the break - rather than "br /" or "p" or \n or whatever - and the text becomes wrappable.

$input = "I want to annoy you by inserting long wooooooooooooooooooooooooooooooooorrrrrrdddss into your guestbook.";
$output = wordwrap($input, 40, ' ', 1);

Will insert spaces into the words longer than 40 characters make the text wrappable by the browser."
Avatar billede amews_aj Nybegynder
05. januar 2005 - 20:27 #7
Ja, men den indsætter jo i det hele taget

hvis du skriver med ord længere end 5 tegn, så gør den jo sådan her

hej h vad h edder  du?

Ser jo åndsvagt ud :p
Avatar billede amews_aj Nybegynder
05. januar 2005 - 20:33 #8
Hmm, er det ligeså brugervenligt at indsætte denne:

$test=explode(' ',$info);
$words=count($test);

for ($i=0;$i<$words;$i++) {
if(strlen($words[$i]) > 30) {
  echo "Ord må maks være på 30 tegn!\nFejl: $words[$i]";
} else {
  // KØR VIDERE
}
}
Avatar billede amews_aj Nybegynder
05. januar 2005 - 20:39 #9
hov, der er fejl i den, lige meget, retter selv, men er det ligeså brugervenligt?
Avatar billede morteeart Nybegynder
05. januar 2005 - 20:40 #10
<?

$info = "bla blaaaaaaaaaaaaaaaaaaaaaa bla bla";

$test=explode(' ',$info);
$words=count($test);

for ($i=0;$i<$words;$i++) {
if(strlen($words[$i]) > 30) {
  echo wordwrap($word[$i], 30);
} else {
  echo $word[$i];
}
}

?>

Ja, det burde kunne gøre arbejdet, ca. det jeg foreslog til at starte med, men ikke noget optimalt synes jeg.

Og din problematik er faktisk underlig, da jeg ikke har oplevet php splitte små org, kun de helt lange, via. wordwrap (husket , 1  paramerert ?).
Avatar billede amews_aj Nybegynder
05. januar 2005 - 20:43 #11
hmm, kan man evt. tælle antal tegn i en streng?
Avatar billede amews_aj Nybegynder
05. januar 2005 - 20:47 #12
hov :S nu virker den wordwrap som den skal ? ved ikke lige hvad der skete, bruger denne kode:

<?
$besked = $_POST['besked'];
$besked = str_replace("\n"," <br> ", $besked);
$besked = wordwrap($besked, 10, ' ', 1);


echo $besked;
?>
<form action="" method="POST">
<textarea name="besked" cols="25" rows="6"></textarea>
<input type="submit">
</form>

Den giver det korrekte...
Avatar billede amews_aj Nybegynder
05. januar 2005 - 20:49 #13
Så bruger jeg den med mellemrum :D

Hvadøhh... Smider du et lile svar :D?
Avatar billede morteeart Nybegynder
05. januar 2005 - 20:51 #14
btw. $besked = str_replace("\n"," <br> ", $besked); = dårlig

www.php.net/nl2br er bedre, da den også er designet til formålet.
Avatar billede morteeart Nybegynder
05. januar 2005 - 20:51 #15
Nej tak, samler ikke på point.
Avatar billede amews_aj Nybegynder
05. januar 2005 - 20:55 #16
ok :D
Avatar billede amews_aj Nybegynder
06. januar 2005 - 15:29 #17
hmm, forresten ville jeg gerne lige teste om det sker her på eksperten...

prøver lige..
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
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