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

PHP

6 svar · 254 visningar · startad av Alpha II

Medlem sedan maj 20002 993 inlägg
Trådstart#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?

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

Medlem sedan mars 2001325 inlägg
#4

Testa:

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

/Marty

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...

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

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?

265 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)