Artikel im HTML-Source kürzen

  • Salut,

    folgendes Problem:

    Wie kürze ich am besten Artikel, die ich im HTML-Source vorliegen habe, auf z.B. 100 Wörter?

    Hintergrund: Auf meiner Website http://vbtricks.vb.funpic.de/vbtrickscms2/index.php gibt es im Blog sehr viele lange Artikel. Dabei geht der Überblick verloren und so möchte ich auf der Übersichtsseite immer die ersten 100 Wörter anzeigen.

    Das Problem ist allerdings, dass in den ersten 100 Wörtern auch z.B. die erste Hälfte einer Tabelle sein kann, die dann durchgeschnitten würde... Es geht also nicht darum, nur die ersten 100 Wörter aus einem Standard-Fließtext zu ermitteln...

    Gibt es da bereits sinnvolle Algorithmen dafür, oder muss ich mich da selbst an die Arbeit machen?


    Danke im Voraus,

    Stefan

  • moin moin,

    ich hab bei meiner suche das hier gefunden:


    Zitat

    An updated function to wrap normal words - and not chars, this will be much faster then the other ones posted previously:

    function real_wordwrap($string,$width,$break)
    {
    $string = preg_replace('/([^\s]{'.$width.'})/i',"$1$break",$string);
    return $string;
    }

    sollte eigentlich das sein, was du haben willst, nur hab ich mir die regex nicht angeschaut ;)

    --> http://www.php.net/wordwrap
    aus den comments

    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  • Salut,

    hm, ich meinte eigentlich, dass ich einen Artikel in der Form


    habe. Und jetzt kann ich ja nicht einfach mit substr die ersten 1000 Zeichen abschneiden, da ich damit die HTML-Struktur zerstöre. Jetzt könnte es ja sein, dass sich da schon jemand Gedanken darüber gemacht und einen Algorithmus geschrieben hat...


    Stefan

  • achso, schau dir mal die comments bei der seite an, die ich gepostet habe, da haben sich shcon mehrere drüber ausgelassen, HTML-tags zu verschonen

    mfg

    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  • Salut,

    irgendwie reden wir aneinander vorbei. Von Umbrechen hatte ich doch gar nichts geschrieben...

    Habe mir inzwischen aber selbst geholfen. Ich suche in einer Schleife 100 mal Leerzeichen (schaue natürlich, dass ich nicht in einem Tag lande). Anschließend schneide ich den String an der Position ab.

    Nun muss ich noch die HTML-Struktur wiederherstellen. Dafür verwende ich meinen eigenen XML-Parser, mit dem ich einen Stack der Tags aufbaue und dann jedesmal das oberste Element im Stack hinten anhänge.

    Voila: http://vbtricks.vb.funpic.de/vbtrickscms2/index.php?tags=coding


    Stefan