String nach XX Zeichen breaken?!

furiyoh

Grünschnabel
Hi Ihr da draußen,
ich stelle zum ersten mal eine Frage hier und werd vermutlich gleich eine übergebrezelt bekommen weshalb ich mich so dumm anstelle....

Aber ich hab ein Problem das ich selbst nach intensiver Suche habe nicht lösen können.
Ich finde weder in preg_replace noch in jeglichen weiteren "replace" Funktionen von php was passendes (oder es is soooo umständlich erklärt das man wohl Master in Linguistik sein muss ^^)

Worum es geht?!
Ganz einfach, ich habe mich gefragt ob es nicht möglich ist einen bestimmten string (der die Tabelle nicht sprengen soll, in der er Ausgegeben werden soll) nach einer bestimmten Zeichenlänge zu killen.
Als Beispiel:
Ich habe eine String (in var $argh) der nach 50 Zeichen mit "..." replaced werden soll, damit er einzeilig bleibt und auch nicht die Weite der Tabelle sprengt und mir das ganze Layout versaut!

Wahrscheinlich hab ich mich ganz Begriffstutzig wie ich gelegentlich bin, einfach auf die falsche Funktion gestürzt und irgendwo dadraußen liegt Sie mit nem Neon-Logo auf dem steht "Nehm doch mich" ^^

Ich bedanke mich schonmal im vorraus und hoffe das mir sobald wie möglich die passende Funktion angesagt wird :)
 
OK, ich habs.. wie schon erwähnt, manchmal liegt die Lösung so nahe.....
Hier das Beispiel:
PHP:
if (strlen($row['title'] > 25)) { 
  $title = substr($row['title'], 0, 25)." ...";
} else {
  $title = $row['title'];
}

//das echo lautet für eine tabelle ann beispielsweise so:

echo "<tr><td>".$title."</td></tr>";

Erläuterung:
die if Abfrage, fragt mittels strlen() nach der 'length' (länge) des Strings wichtig hierbei, da half php.net weiter ist der Fakt, das man nicht im if abfragt sondern direkt im strlen() ob nun größer,kleiner,gleich bzw. auch ungleich in dem Fall 25 ist :)

Ich hab nun meine Lösung hierher reingesetzt damit halt noch jemand nicht lange suchen braucht bis er eine Antwort hat.


P.S. Du hattest schon recht mit dem preg_replace .. Ich hatte im obigen Beitrag, insbesondere allerdings im Thread Title wohl mein Problem nicht passend formuliert.
:offtopic:
 
Zuletzt bearbeitet:
Zurück