Ausgabe der Variable mit Zeilenumbruch
TomP9
- php
Hallo!
Ich gebe den Inhalt einer Variable aus:
echo $var1[id];
Nun kann es vorkommen, dass der Inhalt der Variable sehr lang ist. Ich möchte deshalb nach 10 Zeichen einen automatischen Zeilenumbruch erreichen.
Ist das möglich und wenn, mit welcher Funktion?
Grüße, Tom
Hello,
Ich gebe den Inhalt einer Variable aus:
echo $var1[id];
>
> Nun kann es vorkommen, dass der Inhalt der Variable sehr lang ist. Ich möchte deshalb nach 10 Zeichen einen automatischen Zeilenumbruch erreichen.
>
> Ist das möglich und wenn, mit welcher Funktion?
Es kommt auf das Umfeld (den Kontext) an, in den Du diese Variable ausgeben lässt.
Um es möglichst neutral zu halten, würde man vermutlich ein ASCII-Zeilenumbruchzeichen einfügen, das selber auch möglichst universell bleibt. Das wäre ein
0A 0D ASCII-Code hexadezimal
13 10 ASCII-Code dezimal
\015 \012 ASCII-Code oktal
\r\n Synonymschreibweise für C, C++, PHP, wird vom Parser
bzw. Precompiler gegen obige Zeichen zu den numerischen
Codes ersetzt in einem mit Doppelhäkchen begrenzten String
<http://de3.php.net/manual/en/language.types.string.php>
<http://de3.php.net/manual/en/language.types.string.php#language.types.string.syntax.double>
Um diese neutrale Zwischenstufe möglichst "human readable" zu erzeugen, hat PHP die Funktion wordwrap()
<http://de3.php.net/manual/en/function.wordwrap.php>
$ascii\_umbruch = wordwrap($var, 10, "\r\n", true);
Nun würde $var auf jeden Fall nach 10 Zeichen umgebrochen werden, aber ggf. auch schon früher, wenn davor noch ein umbruchfähiges Zeichen in der Kette ist (z.B. Leerzeichen).
Um $ascii\_umbruch nun wiederum im HTML-Umfeld ausgeben zu können, muss es noch kontextgerecht vorbehandelt werden:
$html\_out = nl2br(htmlspecialchars($ascii\_umbruch));
echo $html\_out;
Bitte lies dazu den Artikel:
<http://aktuell.de.selfhtml.org/artikel/php/kontextwechsel/>
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg

--
Nur selber lernen macht schlau
<http://bergpost.annerschbarrich.de>
Hallo Tom,
Ich gebe den Inhalt einer Variable aus:
echo $var1[id];
> Nun kann es vorkommen, dass der Inhalt der Variable sehr lang ist. Ich möchte deshalb nach 10 Zeichen einen automatischen Zeilenumbruch erreichen.
> Ist das möglich und wenn, mit welcher Funktion?
Es ist problemlos möglich, aber es gibt vermutlich mehrere Wege dies zu tun. Mit [strlen](http://de2.php.net/manual/de/function.strlen.php) kannst du die Gesamtlänge bestimmen. Diese kannst du durch 10 teilen und erhältst die Anzahl von Stellen n, wo du einen Zeilenumbruch möchtest. Mit einer for-Schleife kannst du nun über den String iterieren und aller n Zeichen einen Zeilenumbruch dranhängen.
ciao
romy
--
[Frauenfussball SV 09 Hofheim](http://frauenfussballsv09hofheim.de)
[Piraten ahoi](http://www.piratenpartei.de/navigation/politik/unsere-ziele)