angezeigter text erscheint in einer zeile
jan
- php
hallo ich habe ein Textfeld
gebe ich dort eine nachricht bzw einen text ein
so wird er angezeit aber in einer zeile
dem zu folge ist die seite zu breit
(wird in einem pop um angezeigt)400x700
ich will das nun so gestallten das wenn das pop up aufgeht
der text nixcht in einer zeile steht denn man müsste scrollen um den text komplet zu lesen .
also mehrzeillieg statt alles in einer reihe
<tr><td width=200 valign=top><font color=#000000 face=verdana size=1>Anzeigentext:</font></td><td width=350>
<font color=#000000 face=verdana size=1>
$anz_text</td></tr>
</font></table><br>
Hallo liebe SELFHTMLer,
hallo ich habe ein Textfeld
Sehr schön.
gebe ich dort eine nachricht bzw einen text ein
so wird er angezeit aber in einer zeile
dem zu folge ist die seite zu breit
(wird in einem pop um angezeigt)400x700
Und Warum?
ich will das nun so gestallten das wenn das pop up aufgeht
der text nixcht in einer zeile steht denn man müsste scrollen um den text komplet zu lesen .also mehrzeillieg statt alles in einer reihe
<tr><td width=200 valign=top><font color=#000000 face=verdana size=1>Anzeigentext:</font></td><td width=350>
<font color=#000000 face=verdana size=1>
$anz_text</td></tr>
</font></table><br>
Soweit meine bescheidenen Kenntnisse das hergeben ist intressant:
Das Textfeld.
Was passiert mit diesen Daten nach dem Absenden?
LG
kev1n
Hallo liebe SELFHTMLer,
hallo ich habe ein Textfeld
Sehr schön.
gebe ich dort eine nachricht bzw einen text ein
so wird er angezeit aber in einer zeile
dem zu folge ist die seite zu breit
(wird in einem pop um angezeigt)400x700Und Warum?
ich will das nun so gestallten das wenn das pop up aufgeht
der text nixcht in einer zeile steht denn man müsste scrollen um den text komplet zu lesen .also mehrzeillieg statt alles in einer reihe
<tr><td width=200 valign=top><font color=#000000 face=verdana size=1>Anzeigentext:</font></td><td width=350>
<font color=#000000 face=verdana size=1>
$anz_text</td></tr>
</font></table><br>Soweit meine bescheidenen Kenntnisse das hergeben ist intressant:
Das Textfeld.
Was passiert mit diesen Daten nach dem Absenden?LG
kev1n
die daten werden angezeigt auf dem Profil aber in einer reihe bzw zeile
es soll aber sagen wir so sein das in einer zeile ca50-60 wörter stehen sollen und nich der ellen lange text
Guten Morgen,
dann mach es so:
$neuertext = wordwrap ($textfeldinhalt, 200, "br />\n", 1);
Dabei wird der Text nach 200 Zeichen beim nächsten Leerzeichen umgebrochen. Die Anzahl der Zeichen musst Du natürlich anpassen.
Gruß
zettelbox
Hello Jan,
<tr><td width=200 valign=top><font color=#000000 face=verdana size=1>Anzeigentext:</font></td><td width=350>
<font color=#000000 face=verdana size=1>
$anz_text</td></tr>
</font></table><br>
Du solltest anstelle der klassischen HTML-Attribute für die HTML-Elemente CSS zur Formatierung benutzen. Dann wäre die Steuerung für den Umbruch auch hauptsächlich Sache der Tabellen-Formatierung.
http://de.selfhtml.org/css/eigenschaften/tabellen.htm
Außerdem vermute ich nach der Lektüre des geposteten Code-Stückes, dass Du $anz_text nicht für den HTML-Kontext vorbereitet hast. Das solltest Du auf jeden Fall nachholen.
define('TEXT_WIDTH',60); ## Maximale Zeichenanzahl für den Auzeigetext;
define('CRLF', chr(13).chr(10)); ## Umbruchzeichen im Rohtext
$_out['anzeigetext'] = nl2br(htlmspecialchars(wordwrap($anz_text,TEXT_WIDTH,CRLF,true)))
http://de2.php.net/manual/de/function.nl2br.php
http://de2.php.net/manual/de/function.htmlspecialchars.php
http://de2.php.net/manual/de/function.wordwrap.php
<!-- begin textausgabe -->
<table class='textpopup'>
<tr>
<td class="caption">Anzeigentext:</td>
<td class="content"><?php echo $_out['anzeigetext']; ?></td>
</tr>
</table>
<!-- end textausgabe -->
Ungefähr das bliebe von Deinem HTML-Code füe die Tabelle übrig.
Den Rest steuerst Du dann mittels CSS.
Besonders hinweisen möchte ich da auf den Punkt
http://de.selfhtml.org/css/eigenschaften/tabellen.htm#table_layout
mit dem Du den Browser anweisen kannst, die Tabelle nicht dynamisch zu gestalten, sondern die vorgegebenen Spaltenbreiten einzuhalten.
Allerdings gibt es noch andere, vielleicht bessere Möglichkeiten im CSS, einer Tabelle das grenzenlose Breitenwachstum abzugewöhnen. Lies einfach mal in SelfHTML, was es darüber zu sagen gibt.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Hello,
ich sag doch, dass ich die Funktion 'htmlspecialchars()' in 50% der Fälle erstmal falsch schreibe :-)
Konstanten für die einheitliche Verwendung im Script definieren
define('TEXT_WIDTH',60); ## Maximale Zeichenanzahl pro Zeile für den Auzeigetext;
define('CRLF', chr(13).chr(10)); ## Umbruchzeichen im Rohtext
Ausgabevariable für Textbereich im HTML-Kontext belegen
$_out['anzeigetext'] = nl2br(htmlspecialchars(wordwrap($anz_text,TEXT_WIDTH,CRLF,true)));
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom