Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
$text = 'ich bin ein langer text....';
$strlen = 200;
if ( strlen( $text ) > $strlen ) {
$text = substr( ' ', strrpos( substr( $text, 0, $strlen ) ) ).'...';
}
$text = substr( $text, 0, strrpos( substr( $text, 0, $strlen ) , ' ') ).'...';
Die Variante aus dem verlinkten Thread, bei welchem sich die Funktion so lange aufruft bis ein Leerzeichen auftaucht, finde icht nicht wirklich toll.
Dieser Dreizeiler sollte es eben so tun.
PHP:$text = 'ich bin ein langer text....'; $strlen = 200; if ( strlen( $text ) > $strlen ) { $text = substr( ' ', strrpos( substr( $text, 0, $strlen ) ) ).'...'; }
Um zuverstehen was in der Zeile geschieht, muss man sie von innen nach aussen lesen.
Das innere substr() übergibt an strrpos() die ersten 200 Zeichen von $text. strrpos() ermittelt nun das letzte Leerzeichen innerhalb dieser 200 Zeichen und gibt die Position an das äüßere substr() zurück. An dieser Stelle wird der String dann abgeschnitten und '...' angehanden. Fertig.
Im Gegensatz zu der verlinkten Funktion sucht diese nicht das nächste Leerzeichen, sondern das vorher gehende. Ich finde das praktischer, da man die Ausgabe leichter Einschätzen kann und man nicht mit eventuell zu langen Texten rechnen muss, welche das Layout der Seite zerstören könnten.
Dem würde ich nich zustimmen, denn die Funktion im verlinkten Theard ist besser auch weil, dadurch der Zusammenhang in der Verständniss Frage der leser nicht beeinträchtigt wird, was es wohl wird, wenn deine Funktion nach dem Buchstaben E... macht, wobei evtl dadurch der "zusammenhang" kapputt gemacht wird, der zum weiterlesen imponiert.
Ich liebe das Chaos der Reihenfolge der Argumente in PHP...da werde ich mich nie dran gewöhnen...das meintest Du aber sicherlich so, oder?