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 | |