Hat das einer hinbekommen mit dem Problem des Designs verziehens bei Eingabe eines langen Wortes in der Shoutbox.
Bitte nicht wieder den Hinweis den man in Google gefunden hat.
Hier kann eine Notiz zum Merk-Eintrag hinzugefügt werden (optional)
Geschlossen |
Wer ein Gästebuch oder ein Forum betreibt, kennt das Problem vielleicht: Mühsam hat man ein schönes Layout entwickelt und dann kommt irgendein User daher, gibt ein ungewöhnlich langes Wort (oftmals nur eine lange Folge von "-") ein und schon ist unser schönes Layout dahin. Dies kann man durch die Festlegung einer maximalen Wortlänge verhindern. Der folgende Code zerlegt zunächst einmal einen Text ($text) in einzelne Wörter. Jedes Wort wird anschließend überprüft, ob seine Zeichenlänge die maximale Länge ($maxChar) überschreitet. Wenn das der Fall ist, wird in diesem Wort an der Stelle $maxChar der Inhalt der Variablen $substitute (hier: <br>) eingefügt. Der gesamte neue Text steht zum Schluss in der Variablen $newText zur weiteren Verarbeitung (z.B. speichern in der Datenbank) zur Verfügung. Hier nun der Quellcode: $maxChar=50; $substitute="<br>"; $newText=""; $woerter = explode ( " ", $text); foreach($woerter as $value){ if(strlen($value)>$maxChar){ $newText.=chunk_split ( $value, $maxChar, $substitute); }else { $newText.=$value." "; } }
<?php # Copyright by Manuel # Support www.ilch.de defined ('main') or die ( 'no direct access' ); if ( isset ( $_GET['delete']) ) { if ( $_SESSION['authright'] == -5 ) { db_query("DELETE FROM prefix_shoutbox WHERE id = ".$_GET['delete']); $_GET['archiv'] = 1; } } if ( empty($_GET['archiv']) ) { if ( $_SESSION['authright'] <= -1 ) { $shoutbox_VALUE_name = $_SESSION['authname']; } else { $shoutbox_VALUE_name = 'Nickname'; } if ( !empty($_POST['shoutbox_submit']) ) { $_SESSION['shoutbox_shouted'] = TRUE; $shoutbox_nickname = escape($_POST['shoutbox_nickname'],'string'); $shoutbox_textarea = escape($_POST['shoutbox_textarea'],'textarea'); $shoutbox_textarea = str_replace('[b]','',$shoutbox_textarea); $shoutbox_textarea = str_replace('[/b]','',$shoutbox_textarea); $shoutbox_textarea = str_replace('[i]','',$shoutbox_textarea); $shoutbox_textarea = str_replace('[/i]','',$shoutbox_textarea); $shoutbox_textarea = str_replace('[u]','',$shoutbox_textarea); $shoutbox_textarea = str_replace('[/u]','',$shoutbox_textarea); $shoutbox_textarea = str_replace('[img]','',$shoutbox_textarea); $shoutbox_textarea = str_replace('[img]','',$shoutbox_textarea); $shoutbox_textarea = str_replace('[code]','',$shoutbox_textarea); $shoutbox_textarea = str_replace('','',$shoutbox_textarea);
echo '<tr class="'.$class.'"><td><b>'.$row->nickname.':</b> '.bbcod- e($row->textarea).'</td></tr>
Geschlossen | ||
Zurück zu Fehlersuche und Probleme |