search_it icon indicating copy to clipboard operation
search_it copied to clipboard

Search Highlighter zeichnet auch ... aus

Open alexwenz opened this issue 6 years ago • 12 comments

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">

alexwenz avatar Feb 21 '19 11:02 alexwenz

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..

tyrant88 avatar Feb 22 '19 08:02 tyrant88

Kannst du es in 2 Etappen lösen? Erst ersetzen, dann dort filtern, wo sie zu viel sind? Als Lösungsansatz

AWqxKAWERbXo avatar Feb 22 '19 09:02 AWqxKAWERbXo

Ja so ähnlich ist der Gedanke.

tyrant88 avatar Feb 22 '19 09:02 tyrant88

Nächster Versuch. Alex meint es geht jetzt Alex. Willst du auch noch mal testen?

tyrant88 avatar Feb 25 '19 13:02 tyrant88

Wenn Alex das sagt, dann vertraue ich darauf. Alex' haben generell einen guten Ruf ;)

AWqxKAWERbXo avatar Feb 25 '19 13:02 AWqxKAWERbXo

Ja, wenn Kevin das gesagt hätte würde ich nicht soviel drauf geben... :-)

tyrant88 avatar Feb 25 '19 14:02 tyrant88

Darf ich mich hier noch einklinken? Der Highlighter zeichnet auch Treffer z.B. in einer

danspringer avatar Mar 11 '19 13:03 danspringer

<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.

AWqxKAWERbXo avatar Mar 11 '19 13:03 AWqxKAWERbXo

Hab leider gerade null Zeit

tyrant88 avatar Mar 11 '19 14:03 tyrant88

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.

xong avatar Mar 11 '19 16:03 xong

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 ...

alexwenz avatar Mar 11 '19 16:03 alexwenz

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.

xong avatar Mar 12 '19 09:03 xong