Suchbegriffe hervorheben search.php weiterlesen link nicht verändern

  • Hallo zusammen,

    folgender Code sorgt dafür, dass auf der search.php der jeweilige Suchbegriffe hervorgehoben wird:

    Code
    function search_excerpt_highlight() {
        $excerpt = get_the_excerpt();
        $keys = implode('|', explode(' ', get_search_query()));
        $excerpt = preg_replace('/(' . $keys .')/iu', '<strong class="search-highlight">\0</strong>', $excerpt);
         echo '<p>' . $excerpt . '</p>';
    }

    Allerdings wird der weiterlesen LInk dadurch zerstört, falls der Suchbegriff in der URL des Link vorhanden ist.
    Gibt es eine Möglichkeit, dass preg_replace nicht auf Begriffe innerhalb des <a> Tags anzuwenden

    Code
    Beispiel:
    Hier gibt es tolle Schuhe <a class="weiterlesen" href="www.abc.de/schuhe">mehr</a>
    wird ersetzt durch
    Hier gibt es tolle <span class="search_highlight">Schuhe</span><a class="weiterlesen" href="www.abc.de/<span class="search_highlight">schuhe</span>">mehr</a>


    Dadurch wird der weiterlesen Link zerstört. Gibt es hierfür eine Lösung? Vielen Dank.

    • 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

  • Da man in diesem Fall nicht mit \b arbeiten kann (Boundries sind auch erfüllt wenn ein Wort zwischen zwei Nicht-Buchstaben stehen) bleibt eigentlich nur der Weg über ein zerlegen des Excerpt an allen Links, das Suchen und Ersetzen in allen Fragmenten ohne Link und das anschließende Zusammensetzen aller Teile. Ich würde das über eine Ajax Funktion mit jQuery erledigen, da könnte man den Link ausnehmen.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • versuch es mal mit folgendem Code:

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • @maxe das entfernt aber auch andere Links die eventuell im Excerpt enthalten sind

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • im Excerpt werden doch eh keine Links dargestellt, oder hab ich heut ein Brett vorm Kopf?

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Das kommt darauf an. Standard ist es nicht aber man kann es nicht ausschließen.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • dann warten wir mal auf den TO, ob Standard oder nicht ;)

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

Jetzt mitmachen!

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