Search Highlighter zeichnet auch ... aus
Die Suche nach Winter und Übergabe des Suchbegriffes via ?search_highlighter=winter erzeugt folgenden Quellcode:
<img src="/images/overlay/<span class='searched-it'>winter</span>1.jpg" alt="" width="60" height="16">
Es liegt an dem HTML-tag im Attribut, da matched der Reguläre Audruck wieder, obwohl er nicht sollte. gestern 4 RegEx Ansätze probiert. Muss ich wohl mit einer ganz anderen Logik lösen..
Kannst du es in 2 Etappen lösen? Erst ersetzen, dann dort filtern, wo sie zu viel sind? Als Lösungsansatz
Ja so ähnlich ist der Gedanke.
Nächster Versuch. Alex meint es geht jetzt Alex. Willst du auch noch mal testen?
Wenn Alex das sagt, dann vertraue ich darauf. Alex' haben generell einen guten Ruf ;)
Ja, wenn Kevin das gesagt hätte würde ich nicht soviel drauf geben... :-)
Darf ich mich hier noch einklinken? Der Highlighter zeichnet auch Treffer z.B. in einer
<button></button> dürfte auch so ein Kandidat dafür sein.
edit:
<button class="btn btn-primary" type="submit" name="FORM[anfrage-formular][19]" id="yform-anfrage-formular-field-19-abschicken" value="Abschicken">Ab<span class="search-it-highlighter">schick</span>en</button>
jop.
Hab leider gerade null Zeit
Als Anregung: Ich kann man mir vorstellen, dass man ähnlich wie im Plaintext-Plugin mit dem PHP Simple HTML DOM Parser arbeitet. Dort hatte ich für RexSearch eine remove-Methode implementiert. Wahrscheinlich kann man ähnlich auch eine "highlight-replace"-Methode schreiben, die nur Inhalte bestimmter Tags parst und gefundene Suchbegriffe hervorhebt.
Alternativ könnte man auch das Highlighting mit Javascript umsetzen und z. B. mark.js verwenden. Das erscheint mir die beste und performanteste Lösung zu sein.
Javascript wäre sicher eine gute Lösung, hätte aber den Nachteil, dass man das im Frontend einbinden und damit die schöne "seach_it macht alles autark"-Situation aufgeben müsste ...
Der Ansatz war eigentlich immer, dass die Ausgabe ins Modul gehört und das Addon vielfältige Funktionen und Optionen anbietet, um dabei zu unterstützen. Das "Search Highlighter"-Plugin wurde übrigens auch nie von mir programmiert, weil es nicht ins Konzept gepasst hat. Es kam quasi von außen.