webForumDet fria alternativet

Radbrytning om antal tecken överstiger X

PHP

2 svar · 221 visningar · startad av Melea

Medlem sedan juli 20033 147 inlägg
Frågan#1

Hejhej!

Har den här funktionen för att bryta en rad om någon har skrivit ett ord utan mellanslag.

function BrakeRow($text, $row) {

	$words = explode(" ",$text);

	for ($i = 0; $i < count($words); $i++) {
		if (strlen($words[$i]) > $row) {
			$parts = round(strlen($words[$i]) / $howmany);
			for ($f=0; $f < $parts; $f++) {

				if ($f == $parts-1) {
					$result .= 	substr($words[$i],0,$row);
				} else {
					$result .= 	substr($words[$i],0,$row)."<br>";
				}

				$words[$i] = substr($words[$i],$row,strlen($words[$i]));

			}

		} else {

			$result .= $words[$i]." ";

		}

		return $result;

	}
}

Finns det något enklare sätt?
Känns som man krånglar till det ganska rejält. :)

Har också märkt att det strular om man skriver in adresser, eftersom den bryter raden efter 25 rader.
Ex.

http://www.webforum.nu/index.php

blir

http://www.webforum.nu/in<br />dex.php

Tack!

Medlem sedan juli 20033 147 inlägg
#2

Nu märkte jag hur ute jag var och cyklade.
Kollade in på http://se2.php.net/manual/sv/function.wordwrap.php och det är ju precis vad functionen ovan gör.

Fast problemet med adresserna kvarstår.

Medlem sedan juli 20033 147 inlägg
#3

Tydligen inte, den fixade det i sig själv. :)

256 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)