[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
search_it highlighter killt body-tag [gelöst] - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
frood
Beiträge: 226
Registriert: 7. Okt 2008, 15:17

search_it highlighter killt body-tag [gelöst]

16. Aug 2017, 20:10

Moin,

der Seach It-Highlighter killt den Body-Tag in der Ausgabe der gefundenen Seite (nicht im Suchergebnis!).

Lösung: Datei \redaxo\src\addons\search_it\functions\functions_search_it.php, Zeile 718:

Code: Alles auswählen

$body = search_it_search_highlighter_getHighlightedText($matches[1], $suchbegriffe, $tags);

ändern in

Code: Alles auswählen

$body = search_it_search_highlighter_getHighlightedText($matches[0], $suchbegriffe, $tags);

Vielleicht kann das in der nächsten Version gefixt werden ... ansonsten geiles Addon!

Gruss, Marc

Benutzeravatar
lus
Beiträge: 52
Registriert: 20. Sep 2008, 22:42
Kontaktdaten: Website

Re: search_it highlighter killt body-tag [gelöst]

17. Aug 2017, 10:37

neeee, so einfach ist es nicht... der <body> Tag soll ja gerade nicht von der Funktion bearbeitet werden.
Aber es ist definitiv ein Fehler, danke für den Hinweis.

frood
Beiträge: 226
Registriert: 7. Okt 2008, 15:17

Re: search_it highlighter killt body-tag [gelöst]

17. Aug 2017, 11:17

Was soll denn bearbeitet werden, wenn nicht der body-Tag mit seinem Inhalt?
Bei $matches[1] wird nur alles innerhalb des body-Tags bearbeitet und wieder ausgegeben, aber ohne den body-Tag.

Meine Lösung funktioniert bei mir wunderbar .... wo siehst Du hier ein Problem?

Benutzeravatar
lus
Beiträge: 52
Registriert: 20. Sep 2008, 22:42
Kontaktdaten: Website

Re: search_it highlighter killt body-tag [gelöst]

17. Aug 2017, 11:50

so wird eventuell auch der body Tag selbst vom highlighter verändert.

Benutzeravatar
lus
Beiträge: 52
Registriert: 20. Sep 2008, 22:42
Kontaktdaten: Website

Re: search_it highlighter killt body-tag [gelöst]

17. Aug 2017, 13:42

oh, da hatte ich was falsches im Kopf (oder ein altes Problem).
Deine Lösung wird übernommen.

frood
Beiträge: 226
Registriert: 7. Okt 2008, 15:17

Re: search_it highlighter killt body-tag [gelöst]

17. Aug 2017, 14:37

[EDIT] Oh, du hattest schon was geantwortet ... dann kannst Du meine Gewäsch unten ignorieren.
Habe auch gerade festgestellt, dass der Body-Tag gar nicht geändert wird bei meiner Lösung, auch, wenn man "body" sucht ... Blacklist ist also nicht nötig .

****

... und hier das Gewäsch:

Da hast Du natürlich recht, kann man aber verhindern, indem man "body" (und evtl. auch "class" und die css-Klassen des body-Tags) auf die Blacklist setzt.

Ich habe aber jetzt eine bessere Lösung:
Im Template Kommentare setzen:

Code: Alles auswählen

<html>
<head>...</head>
<body>
<!--contentStart-->
......
<!--contentEnd-->
</body>
</html>

... und dann die preg_replace-Anweisung entsprechend ändern:

Code: Alles auswählen

$subject = preg_replace('/<!--content-->*>(.*?)<!--contentEnd-->/is',$body,$subject);
Dann sind auch die Blacklisteinträge nicht mehr nötig.

Wie findest Du diese Lösung? [EDIT] Die alte ist schöner ;)

Benutzeravatar
lus
Beiträge: 52
Registriert: 20. Sep 2008, 22:42
Kontaktdaten: Website

Re: search_it highlighter killt body-tag [gelöst]

17. Aug 2017, 16:20

Ja, ich hatte es auch noch mal getestet, weil ich das irgendwie in Erinnerung hatte, dass mal der body Tag "gehighlightet" wurde, weil er ne Klasse hatte oder ein Attribut... Ist aber Quatsch die regex schließt das ja aus.


Ach so: und wenn du schon PHP kannst, darfst du auch auf github kommen! Da bekommen alle mehr mit als im Forum.

Zurück zu „AddOns / Packages [R5]“