limit-post Plugin

Das neue Theme, was ich für mein Blog verwende, benutzt das limit-post Plugin, um auf der Übersichtsseite die Artikeltexte zu verkürzen. Das Plugin arbeitet nach dem folgenden Prinzip: Es holt sich zunächst den gesamten Artikeltext, entfernt dann alle HTML-Tags, um dann die verbleibenden Zeichen auf die angegebene Anzahl zu verkürzen. Die so entstehende Zeichenkette wird dann in einen Paragraph gepackt und ausgegeben.

Dies funktioniert eigentlich wunderbar, hat allerdings einen klitzekleinen Schönheitsfehler: Verwendet man Bilder mit Unterschriften in seinen Artikeln, werden zwar die Bilder nicht angezeigt (da alle HTML-Tags entfernt werden), die Bildunterschriften sind aber weiterhin Bestandteil des verkürzten Texts. Und das sieht, nunja, blöd aus.

Das Problem lässt sich allerdings recht einfach lösen. Man muss lediglich zunächst die Bilder samt Unterschriften aus dem Artikeltext entfernen, bevor man die restlichen HTML-Tags aus dem Artikeltext nimmt. Folgende kleine PHP-Zeile macht genau dies:

$content = preg_replace(‘/<div.*<img.*\/div>/’,”, $content);

Es wird also jedes “div”-Tag das ein “img”-Tag enthält bis zu seinem abschließenden Tag entfernt. Dafür reicht ein kleiner regulärer Ausdruck…

Falls jemand Interesse hat, die modifizierte Version des Plugins gibts hier: limit-post.

P.S.:
@Karsten: Hab mir mal PHP angeschaut… Kann ich jetzt… ;)

Tags :