Langen Text unter Beachtung von Wörtern kürzen

Author:
Kategorie:
PHP Script
Beitrag vom:
PHP substr
PHP substr

Die PHP Funktion substr() ist sehr nützlich, wenn lange Texte oder Wörte gekürzt werden sollen

Mit substr(); kann man ja Texte auf x Zeichen kürzen. Diese Funktion lässt aber zum Beispiel bei Vorschautexten von Newssystemen etc. ziemlich unschöne Effekte auftreten, sodass zum Beispiel ein Text inmitten eines Wortes abgehackt wird ("Er ging um die Ec..."). Abhilfe dafür schafft dieses Script.

<?php
/*
@param text, string
@param zeichen, integer, Stringlength
@param kolanz, integer, optional, Kolanzwert für Länge
@param punkte, integer, optional, Anzahl angehangener Punkte
*/
function word_substr($text, $zeichen, $kolanz=3, $punkte=0) {
    if(strlen($text) < $zeichen+$kolanz)
        return $text;
    $wort = explode(" ",$text);
    $newstr = "";
    $i = 0;
    while(strlen($newstr)<=$zeichen &&
          strlen($newstr.$wort[$i])<=($zeichen+$kolanz)) {
        $newstr .= $wort[$i]." ";
        $i++;
    }
    $newstr .= str_repeat(".",$punkte);
    return $newstr;
}
$text = "Wer ander'n eine Bratwurst brät, hat ein Bratwurstbratgerät.";

// voller Text
echo $text."<br/>";
// Text mit 18 Zeichen Länge, Kolanz gleich 20
echo word_substr($text, 18, 20)."
";
// Text mit 18 Zeichen Länge, Kolanz gleich 5
echo word_substr($text, 18, 5)."
";
// Text mit 100 Zeichen Länge, Kolanz gleich 5
echo word_substr($text, 100, 5)."
";
?>

Quelle: php4u.net


Seite teilen

Der Beitrag: Langen Text unter Beachtung von Wörtern kürzen, aus der Rubrik PHP Script hat dir gefallen?