webForumDet fria alternativet

radbrytning av väldigt långa ord...

PHP

6 svar · 250 visningar · startad av Alpha II

Medlem sedan maj 20002 993 inlägg
Frågan#1

Gör en gästbok som ska vara väldigt smal, 160 pixlar. jag vill hindra folk från att förstöra designen genom att skriva milslånga ord.. hur ska jag få ord att delas upp i bitar på bokstäver och få ett "-" streck mellan varenda del?

------------------
"Det blir bara stjärnor när jag skall skriva in lösenordet."
- Återkommande fråga på Spray support

Medlem sedan jan. 20001 006 inlägg
#2

..

/j

[Redigerat av Batboy den 30 sep 2001]

Medlem sedan mars 20007 896 inlägg
#3

Det ger inget - vid brytningar, men kolla in http://www.php.net/wordwrap

------------------
SPiN, bjorne.w@telia.com

-- Den som går i andras fotspår kommer aldrig först --

Medlem sedan mars 2001325 inlägg
#4

Testa:

wordwrap($text, 160, "-<br>", 1);

/Marty

------------------
[silver]Keep on rocking 24-7[/silver]

Medlem sedan maj 20002 993 inlägg
#5

Det fungerar inge bra :(
Texten blir bruten lite här o där. och inte bara det långa orden...

------------------
"Det blir bara stjärnor när jag skall skriva in lösenordet."
- Återkommande fråga på Spray support

Medlem sedan aug. 20002 975 inlägg
#6

Om du vill spärra för långa ord vid inmatning: http://cgi.webforum.nu/wf/Forum13/HTML/000999.html

------------------
Funktion är vackert

Medlem sedan maj 20002 993 inlägg
#7

Jag lyckades lösa det själv.

<?php
$str="Det här är den vääääääääälllllddddiiiiigggggttttt långa mennnnnnniiiiinnnnggggennnn...";
$words=explode(" ",$str);
$result = "";

for ($i=0;$i<count($words);$i++) {
	if (strlen($words[$i])>16) {
		$parts = round(strlen($words[$i])/16);
		for ($f=0;$f<$parts;$f++) {
			if ($f==$parts-1)
				$result .= substr($words[$i],0,16);
			else
				$result .= substr($words[$i],0,16)."-<br>";
			$words[$i] = substr($words[$i],16,strlen($words[$i]));
		}
	} else {
		$result .= $words[$i]." ";
	}

}

echo($result);

?>

Några förslag till förbättringar i koden?

------------------
"Det blir bara stjärnor när jag skall skriva in lösenordet."
- Återkommande fråga på Spray support

411 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
280 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)