webForumDet fria alternativet

Radbrytning

4 svar · 405 visningar · startad av Jesper2

Jesper2Medlem sedan dec. 200475 inlägg
#1

Jag behöver en funktion som gör en radbrytning om inlägget i en gästbok blir för långt så att <div>-en inte skjuts ut i sidled. Just nu har jag den här funktionen:

			$mellanslag = " ";
			if((stristr($text, $mellanslag) == False)){
				$text = wordwrap($text,23, "\n", 1);
			}

Den bryter vid 23 tecken om inlägget inte innehåller några mellanslag. Men det räcker ju med att t ex inleda inlägget med ett mellanslag och sen hålla inne en knapp för att man ska förstöra. Om man har wordwrap i alla lägen, oavsett om inlägget innehåller ett mellanslag eller inte så blir det väldigt irriterande att läsa. Det håller inte..

Finns det något sätt att fixa det här? IE läser ju inte max-width :/

Tack på förhand!

BlueyMedlem sedan dec. 200220 inlägg
#2

CSS är nog rätt spår.
max-width tolkas förvisso inte av IE, men varför inte använda width?

PeddaMedlem sedan juni 20006 032 inlägg
#3

Du kan ju ta bort alla mellanslag som är före och efter texten innan du lägger in i databasen.

// Tag bort eventuella blanksteg i början eller slutet 

foreach($_POST as $key => $val){ 

	$_POST[$key] = trim($val); 
}
PeeerMedlem sedan mars 20025 907 inlägg
#4

En funktion som jag en gång hittade här på wF

function ShortWord($text,$length) 
{
	$text = preg_replace ("/([^\s]{".$length.",})/e", "''.wordwrap('\\1', ".$length.", ' ', 1).''", $text);
	return $text;
}
echo ShortWord('foo boooooooooop',4);
//Resulterar i:
//foo booo oooo ooop
Jesper2Medlem sedan dec. 200475 inlägg
#5

Peer hade ett alldeles utmärkt svar =)

Tack!

126 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)