Danielku15
Erfahrenes Mitglied
Hi Leute.
Ich hab ein kleines Problem. In meiner Shoutbox kommt es oft dazu dass ein zu langes Wort oder eine URL den I-Frame sprengt und man nach rechts scrollen muss um alles zu lesen. Ich hab bereits eine Funktion gefunden um zu lange Wörter zu Splitten.Das Problem ist folgendes. Ich behandle den Text zuvor mit htmlentities, trim, nl2br und wordwrap. Wenn jetzt einer viele Umlaute oder Zeichen nacheinander macht z.b. (nöööööööööööö). Dann kann es vorkommen dass während ö Getrennt wird: &ou<br>ml; Wie mach löse ich das am besten? Ich habe ebenfalls BBCodes drinnen. Da kommt es auch schon mal vor dass aufs versehen [B<br>]Fett[/B] geschrieben wird. Hier meine Funktion:
gruß daniel
Ich hab ein kleines Problem. In meiner Shoutbox kommt es oft dazu dass ein zu langes Wort oder eine URL den I-Frame sprengt und man nach rechts scrollen muss um alles zu lesen. Ich hab bereits eine Funktion gefunden um zu lange Wörter zu Splitten.Das Problem ist folgendes. Ich behandle den Text zuvor mit htmlentities, trim, nl2br und wordwrap. Wenn jetzt einer viele Umlaute oder Zeichen nacheinander macht z.b. (nöööööööööööö). Dann kann es vorkommen dass während ö Getrennt wird: &ou<br>ml; Wie mach löse ich das am besten? Ich habe ebenfalls BBCodes drinnen. Da kommt es auch schon mal vor dass aufs versehen [B<br>]Fett[/B] geschrieben wird. Hier meine Funktion:
PHP:
function short_words($text, $length = 50) {
$words = explode(" ",$text);
$count_w = count($words)-1;
if($count_w >= 0) {
for($i=0;$i<=$count_w;$i++) {
if(strlen($words[$i])>=$length) {
$words[$i] = chunk_split($words[$i], $length,"<br>");
$length = strlen($words[$i])-5;
$words[$i] = substr($words[$i],0,$length);
}
$text = implode(" ",$words);
}
}
else {
$text = chunk_split($text,$length,"<br>");
}
return $text;
}
gruß daniel