h3 aus the_excerpt-Ausgabe rausfiltern

  • Hallo Zusammen,

    der Tag the_excerpt zeigt z.B. standardmäßig alles vor dem Readmore-Link an. Hat man da eine Überschrift wie h3 stehen, sieht das zusammen mit dem Text des Excerpts eigenartig aus.

    Gäbe es ein Stück Code, für die functions.php vielleicht, die die kompletten H3s aus dem Excerpt fegen könnte?

    In dem Plugin Better Excperts sind teilweise solche Ausdrücke drin:

    PHP
    $text = preg_replace(" (\[.*?\])",'',$text);


    oder

    PHP
    $text = trim(preg_replace( '/\s+/', ' ', $text));


    Könnte man damit sowas anstellen?

    Ich poste auch gerne den Code des Plugins.

    Danke,
    Wolf

    Fuffzehn Mann auf des toten Manns Kiste, ho ho ho und 'ne Buddel mit Rum!

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Ich bin heute mal nett und habe dir den Regulären Ausdruck erstellt:

    PHP
    <?php
    add_filter('the_excerpt', 'excerpt');
    function excerpt($excerpt) {
        $excerpt = preg_replace('!<h3>([a-zäöüß0-9[:space:]]+)</h3>!i', '', $excerpt);
        return $excerpt;
    }
    ?>


    Pack das in deine functions.php, sollten aber andere Zeichen als Buchstaben, Zahlen und Leerzeichen in deiner Überschrift vorkommen, muss ich noch etwas ändern.

  • Ein supersexy Ausdruck. Und das um diese Zeit. Dankesehr!

    Nun habe ich noch ein Problem, ich habe mich oben vielleicht doof ausgedrückt: Im Content ist es H3, im Excerpt wird das H3 schon rausgehauen. So ist da kein H3 mehr drin, nur eben der Text, der im Content H3 war. Deshalb greift der schicke Ausdruck nicht. Man kann den H3 wahrscheinlich im Excerpt auch nicht so einfach erhalten, um ihn dann zu killen.

    Wolf

    Fuffzehn Mann auf des toten Manns Kiste, ho ho ho und 'ne Buddel mit Rum!

  • Sry, da kann ich dir auch nicht helfen, wüsste nicht wie. Ich brauchte irgendetwas, das sich vom restlichen Text unterscheidet.

    Einmal editiert, zuletzt von Arixan (5. Januar 2010 um 06:18)

  • Servus Arixan,

    möchte melden, dass Deine neue Funktion jetzt Verwendung gefunden hat. Ich habe in dem Plugin Better Excerpt noch ein wenig rumgefummelt und eine Funktion gefunden

    PHP
    $text = strip_tags($text, '<h3><p><br>');

    mit der ich die H3 zunächst im Excpert doch ausgeben lassen und anschließend mit Deiner Funktion wieder entferne. So ist es möglich, ein H3, die im Auszug komisch wirken würde zu entfernen aber im Post zu erhalten.

    Mit dem a-zäöüß0-9 scheint er noch Probleme zu haben.
    Sobald ein ü etc. oder - vorkommt, wird h3 nicht ersetzt.

    Vielen Dank für Deinen Einsatz,

    Wolf

    Fuffzehn Mann auf des toten Manns Kiste, ho ho ho und 'ne Buddel mit Rum!

    Einmal editiert, zuletzt von Wolf Larsen (7. Januar 2010 um 23:21)

  • Habe den Bindestrich vergessen:

    PHP
    !<h3>([-a-zäöüß0-9[:space:]]+)</h3>!i

    Getestet habe ich es mit:

    Zitat

    <h3>Der Hund schläft in dem Haus - Wä Dü Fö Qß</h3>

  • Danke Arixan,

    kommt ein Bindestrich vor, wird jetzt richtig ersetzt.
    Sobald ein äöü usw. vorkommt nicht.
    "Eine Frühjahrswanderung" als H3 z.B bleibt drin.

    Wolf

    Fuffzehn Mann auf des toten Manns Kiste, ho ho ho und 'ne Buddel mit Rum!

  • Bei mir funktioniert das perfekt, irgendetwas scheinst du falsch zu machen. Teste dieses Script mal bei dir, wenn es geht liegt es nicht an meiner Funktion.

    Einmal editiert, zuletzt von Arixan (8. Januar 2010 um 13:09)

  • Servus Arixan,

    es liegt nicht an dem Ausdruck. Ich kann das Script hier lokal laufen lassen und den Ausdruck mit OK ersetzen und es passt.

    Ich habe das Plugin wp typography am Laufen, dass haut den Text mit weichen Trennungen voll, aber auch abgeschaltet oder h3 davon ausgenommen, werden ü etc. nicht ersetzt.

    Ersetze ich das ü durch ein u, wird ersetzt.

    Ich habe Dein php auch online auf meinem Webspace getestet und es ersetzt auch korrekt.

    Nur in Verbindung mit Wordpress scheitert es an den üs.

    Wolf

    Fuffzehn Mann auf des toten Manns Kiste, ho ho ho und 'ne Buddel mit Rum!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!