Boardunity & Video Forum

Boardunity & Video Forum (https://boardunity.de/)
-   Programmierung und Datenbanken (https://boardunity.de/programmierung-datenbanken-f23.html)
-   -   php: Ausgabe Anzahl Zeichen begrenzen (https://boardunity.de/php-ausgabe-anzahl-zeichen-begrenzen-t3695.html)

Jan Stöver 31.10.2005 18:12

php: Ausgabe Anzahl Zeichen begrenzen
 
Hallo zusammen,

ich brauche mal fix einen kleinen Rat.

Code:

echo "<span class='reiheinhalt'><img src='bilder/layout/bubble.png' alt='Forenbeitrag' title='Forenbeitrag' /> <a href=$link>$title</a></span>";
Wie kann ich die Ausgabe des Inhalt von $title vorher Beschränken? Mein Problem ist, dass der Inhalt teilweise sehr lang sein kann und mir so das Layout sprengt und so ein unschöner Zeilenumbruch kommt.

Beispiel:

Inhalt von $title = Hallo >> OK
Inhalt von $title = Hallo ich bin ein viel zu langer Text >> Nicht OK

Ideal wäre es, wenn man nach bspw. 10 Zeichen einfach (...) anzeigen lassen könnte.

Jemand eine Idee? Ist recht dringend ...

Jan Stöver 31.10.2005 18:25

Im Chat gab es schnelle Hilfe. Danke allen Anwesenden!

Code:

if (strlen($title) >= 30) { $title = substr($title,0, 30) . "..."; }

Björn 31.10.2005 18:25

Code:

if(strlen($title) => 20) $title = substr($title,0,20).'...';
echo "<span class='reiheinhalt'><img src='bilder/layout/bubble.png' alt='Forenbeitrag' title='Forenbeitrag' /> <a href=\"$link\">$title</a></span>";


wurstbrot 31.10.2005 19:31

Hi,

eure beiden Lösungen haben den unschönen Nachteil, dass Worte mittendrin abgeschnitten werden. Die Lösung hierfür wäre deshalb wordwrap:

PHP-Code:

if(strlen($title) => 20) {
$title=wordrap($title,20); //Zeilenumbruch einfügen spätestens nach 20 Zeichen
$title substr($title,0,strpos($title,"\n")).'...'//bei Zeilenumbruch Text abschneinden
}
echo 
"<span class='reiheinhalt'><img src='bilder/layout/bubble.png' alt='Forenbeitrag' title='Forenbeitrag' /> <a href="$link">$title</a></span>"

Wurstbrot

Unregistriert 11.09.2007 12:31

Fehler
 
if(strlen($title) => 20) {
$title=wordrap($title,20); //Zeilenumbruch einfügen spätestens nach 20 Zeichen
$title = substr($title,0,strpos($title,"\n")).'...'; //bei Zeilenumbruch Text abschneinden
}
echo "<span class='reiheinhalt'><img src='bilder/layout/bubble.png' alt='Forenbeitrag' title='Forenbeitrag' /> <a href="$link">$title</a></span>";

------------------------------

Da sind einige Fehler drin.. Hier mal ohne Fehler:

if(strlen($title) >= 20) {
$title=wordwrap($title,20); //Zeilenumbruch einfügen spätestens nach 20 Zeichen
$title = substr($title,0,strpos($title,"\n")).'...'; //bei Zeilenumbruch Text abschneinden
}
echo "<span class='reiheinhalt'><img src='bilder/layout/bubble.png' alt='Forenbeitrag' title='Forenbeitrag' /> <a href="$link">$title</a></span>";

------------------------------

leider wars aber nicht das was ich suchte. Wenn ich einen Text habe der so aussieht "01. Blablablablablablablablabla" Dann gibt der nicht "01. Blablablablablablablabla..." aus wie ich es gern hätte sondern nur "01...." -.-


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:46 Uhr.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25