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>