Maximale Zeichenlänge anzeigen
felix
- php
0 ichen0 Martin Rozmus0 wahsaga0 Xava0 Sascha Knappe0 felix
0 Tom
Hi,
ich lese einen Wert aus einer Datenbank aus und lasse mir diesen Anzeigen. Wenn der Wert ueber 50 Zeichen hat, passt er nicht mehr in eine Tabelle. Jetzt möchte ich, dass 45 Zeichen angezeigt werden und es dann mit 3 Punkten ('...') weitergeht bzw endet. Wie stelle ich das an ?
Grüße, und Danke.
Felix
Moin felix!
schaue dir substr(); an:
http://de3.php.net/manual/de/function.substr.php
tschüss ichen
ich lese einen Wert aus einer Datenbank aus und lasse mir diesen Anzeigen. Wenn der Wert ueber 50 Zeichen hat, passt er nicht mehr in eine Tabelle. Jetzt möchte ich, dass 45 Zeichen angezeigt werden und es dann mit 3 Punkten ('...') weitergeht bzw endet. Wie stelle ich das an ?
if ( 50 > strlen( $string ) )
{
$string = substr( $string, 0, 45 ).'...';
}
hi,
ich lese einen Wert aus einer Datenbank aus und lasse mir diesen Anzeigen. Wenn der Wert ueber 50 Zeichen hat, passt er nicht mehr in eine Tabelle. Jetzt möchte ich, dass 45 Zeichen angezeigt werden und es dann mit 3 Punkten ('...') weitergeht bzw endet. Wie stelle ich das an ?
am besten _nicht_ erst PHP-seitig, sondern schon beim auslesen aus der DB.
wozu daten vom DB- an den webserver übertragen, die dann doch nicht gebraucht werden?
gruß,
wahsaga
Natürlich brauche ich die Daten, sonst würde ich sie ja nicht auslesen :-)
Das ist ein Name. Der Name kann seehhhrrr lang sein. Habe aber nur beschrenkt Platz. Die gekürzten Namen sieht man ja eh nur im admin bereich.
danke an alle,
grüße felix
hi,
Natürlich brauche ich die Daten, sonst würde ich sie ja nicht auslesen :-)
was jemand ausliest, und was er davon "braucht", weicht oftmals voneinander ab. so auch hier:
Das ist ein Name. Der Name kann seehhhrrr lang sein. Habe aber nur beschrenkt Platz. Die gekürzten Namen sieht man ja eh nur im admin bereich.
also brauchst du an _der_ stelle doch wohl _nicht_ den gesamten namen?
gruß,
wahsaga
Genau, ich brauche nur die ersten 30 Zeichen, der Rest wird mit ... dagestellt.
Beispiel:
Superlangerfirmennamedernurner ...
:o)
Ich lese in der Regel auch nur das aus einer DB aus, was ich brauche, Rest wäre ja unnötig.
Grüße,
Felix
Hallo felix!
Jetzt möchte ich, dass 45 Zeichen angezeigt werden und es dann mit 3 Punkten ('...') weitergeht
bzw endet. Wie stelle ich das an ?
<?php
$text = (strlen($text)>45) ? substr($text, 0, 45)."..." : $text;
?>
Links:
- PHP-Handbuch: strlen(): http://de.php.net/manual/de/function.strlen.php
- PHP-Handbuch: substr(): http://de.php.net/manual/de/function.substr.php
Hallo Felix,
mache es doch gleich auf der Datenbank. Bei MySQL hieße das Statement:
SELECT
if (length(TEXT_Inhalt)>550,
concat(left(TEXT_Inhalt, 509 + instr(right(left(TEXT_Inhalt,550),40), ' ')),'...'),TEXT_Inhalt) as TEXT_Inhalt
FROM TEXTe
Schönen Gruß aus München
die knappschaft
mache es doch gleich auf der Datenbank. Bei MySQL hieße das Statement:
Hast recht, ist die beste Lösung!
SELECT
if (length(TEXT_Inhalt)>550,
concat(left(TEXT_Inhalt, 509 + instr(right(left(TEXT_Inhalt,550),40), ' ')),'...'),TEXT_Inhalt) as TEXT_Inhalt
FROM TEXTe
Wie einfach. Darauf hätte ich auch selber kommen können.
Habe es so gelöst:
SELECT id,
if (LENGTH(company)>32, concat(LEFT(company, 32)," ..."),company), k_in, k_out FROM p_kunde');
Dank euch allen !
Grüße aus Freiburg,
Felix
Hello,
z.B.:
Select if(length(textfeld)>50,concat(left(textfeld,45),'...'),textfeld) as shorttext from $table;
Harzliche Grüße aus http://www.annerschbarrich.de
Tom