es gibt zwar den 50zeichenmod der beim absenden eines beitrages einfach bei langen wörtern aller 50 zeichen ein leerzeichen einfügt nur das problem ist das dadurch auch links die nicht als bbcode gekenzeichnet sind zerlegt werden und nichtmehr funktionieren, und auch wörter die die seitenbreite nicht gefärden plötzlich mitten im wot ein leerzeichen haben auch codes werden einfach zerlegt. das ist ja nicht so schön!
hier ist die lösung dieses problems!
mit dieser modifikation werden keine leerzeichen eingefügt aber die zeilen können bei wörtern die länger sind als von euch gewünscht umgebrochen werden. links, egal ob mit bbcode erstellt oder ohne, werden umgebrochen und funktionieren trotzdem weiterhin! und die veränderungen werden nicht in der db gespeichert das heist der mod wirkt sich auch auf ältere beiträge aus ohne diese jedoch zu verändern. also wen jemanden der mod netmehr gefällt einfach ausbauen und alles ist wie vorher.
hier die instalationsanleitung:
suche in der includes/functions.php nach
Code: Alles auswählen
?>
Code: Alles auswählen
function breakLongWords($str, $maxLength, $char){
$wordEndChars = array(" ", "\n", "\r", "\f", "\v", "\0");
$count = 0;
$newStr = "";
$openTag = false;
for($i=0; $i<strlen($str); $i++){
$newStr .= $str{$i};
if($str{$i} == "<"){
$openTag = true;
$Sympol = false;
continue;
}
else if($str{$i} == "&")
{
$openTag = true;
$Sympol = true;
continue;
}
if(($openTag) && ($Sympol) && ($str{$i} == ";")){
$openTag = false;
continue;
}
else if(($openTag) && !($Sympol) && ($str{$i} == ">")){
$openTag = false;
continue;
}
if(!$openTag){
if(!in_array($str{$i}, $wordEndChars)){//If not word ending char
$count++;
if($count==$maxLength){//if current word max length is reached
$newStr .= $char;//insert word break char
$count = 0;
}
}else{//Else char is word ending, reset word char count
$count = 0;
}
}
}//End for
return $newStr;
}
suche in der viewtopic.php
Code: Alles auswählen
$template->assign_block_vars('postrow', array(
Code: Alles auswählen
$message = breakLongWords($message,9,"­<wbr>");
Code: Alles auswählen
$user_sig = breakLongWords($user_sig,9,"­<wbr>");
mfg metty