String kürzen, ohne HTML-Tags zu zerstören?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • String kürzen, ohne HTML-Tags zu zerstören?

    Hallo,

    um Strings bzw. Texte zu kürzen habe ich bisher immer die folgende, von mir selbst erstellte, Funktion verwendet:

    PHP-Code:
            /**
             * String cutting
             * @param string $strString To be shortened text
             * @param integer $scMaxlength Limit of string length
             * @param boolean $boolAtSpace Cut only at space
             * @access public
             * @return string
             */
            
    function stringCutting($strString$scMaxlength$boolAtSpace true) {
                if (
    strlen($strString) > $scMaxlength) {
                    
    $strOutput '';
                    
    $strString substr($strString0$scMaxlength-4);
                    if (
    $boolAtSpace) {
                        
    $arrExp explode(' '$strString);
                        for (
    $scI 0$scI count($arrExp)-1$scI++) $strOutput.= $arrExp[$scI].' ';
                    }
                    else
                        
    $strOutput $strString;
                    return 
    $strOutput.'...';
                }
                else {
                    return 
    $strString;
                }
            } 
    für Plain-Text klappt die Funktion auch super.
    Allerdings möchte ich nun HTML-Text kürzen.
    Da lauf ich mit der Funktion gefahr, dass der String mitten in einem HTML-Tag abgeschnitten wird, was mir ja dann das komplette DOM zerhaut.

    Hat jemand eine Funktion die genau das möglich macht?
    Es ist wichtig das genau auch HTML-Text zurückgegeben wird.
    Die Verwendung von strip_tags() ist nicht erwünscht!
    Danke

  • #2
    Offensichtlich ist dir DOM ja ein Begriff...
    Warum versuchst du es nicht mit der in PHP eingebauten DOM Klasse?
    Wir werden alle sterben

    Kommentar

    Lädt...
    X