Einen lange Text auf eine bestimmte Länge kürzen

Wer mal längere Texte per PHP kürzen möchte und dabei keine Wörter abgeschnitten werden sollen, dem kann ich diese simple und doch sehr effektive Funktion ans Herz legen.

<?php

function shortText($string,$lenght) {
    if(strlen($string) > $lenght) {
        $string = substr($string,0,$lenght)."...";
        $string_ende = strrchr($string, " ");
        $string = str_replace($string_ende," ...", $string);
    }
    return $string;
}
$longtext = "Das ist ein sehr langer Text der auf eine bestimmte Länge gekürzt werden soll.";

echo shortText($longtext,70);

?>

Beim obigen Code wird der Text auf 70 Zeichen gekürzt, wobei das letzte unvollständige Wort komplett entfernt wird.

Resultat dieses Codes anzeigen

David Losse hat den Code optimiert, sodass ein kurzer Text unverändert bleibt. Danke!

  • Donnerstag, 23 Juni 2011

Kommentare (2)

  • David Losse

    David Losse

    02 Juli 2012 at 00:56 |
    Hi,

    ein toller Ansatz, der mir gerade weitergeholfen hat, bitte nimm mal den Satz.

    Auf dieser Homepage finden sie alles mögliche was ihnen gefällt

    Wenn ich jetzt richtig zähle sind das 63 Zeichen kürze mal darauf und sag mir was dir auffällt der Text wurde gekürzt obwohl das letzte Wort noch nicht mal gekürzt werden musste, kannst auch auf 100 oder 400 kürzen.. das heißt egal ob du 200 angibst oder so, es würd das letzte wort gekürzt..

    ich habe es abgeändert und so sieht es aus weil ich nur gekürzt haben möchte was wirlich zu lang ist..

    function shortText($string,$lenght) {
    if(strlen($string) > $lenght) {
    $string = substr($string,0,$lenght)."...";
    $string_ende = strrchr($string, " ");
    $string = str_replace($string_ende," ...", $string);
    }
    return $string;
    }

    am besten addest du es und erwähnst es!

    LG
    David
    • Günther Hörandl

      Günther Hörandl

      03 Juli 2012 at 19:09 |
      Hallo David,

      du hast recht! Sehr gut beobachtet, und super Lösung! DANKE!!!
      Ich habe den Code dank dir jetzt verbessert. (siehe oben)

      Nochmals Danke und viele Grüße,
      Günther

Bitte Kommentar schreiben

Bitte einloggen, um einen Kommentar zu schreiben.