Suchergebnisse werden in einigen Sprachen nicht hervorgehoben

Hallo! Bei meiner Installation von Discourse 2.5.0.beta1 werden die gesuchten Keywords in den Suchergebnissen nicht hervorgehoben, wenn die Suche in einer anderen Sprache als Englisch durchgeführt wurde. Ist das ein Fehler oder eine Funktion?

Danke!

Was wird hier von @sam erwartet?

Wir heben nur vollständige Wörter hervor. Das sieht nach einem unvollständigen Wort aus.

Hallo! Ich erwarte, dass das gefundene Keyword wie folgt hervorgehoben wird:

Entschuldigung, in diesem Fall nicht:

@vinothkannans, könntest du dir das kurz ansehen:

@smith, könntest du hier einen Beitrag mit dem genauen griechischen Wort verfassen? (Ich glaube, das ist Griechisch.) Das könnte ein Fehler in unserer JavaScript-Bibliothek für die Hervorhebung sein.

Dies ist kyrillisch, basiert jedoch auf dem Griechischen. Hier ist ein Beispiel:

Denn es hat dem Heiligen Geist und uns gefallen, euch keine weitere Last aufzuerlegen als diese notwendige:
Ihr sollt euch enthalten von Götzenopferfleisch und von Blut und von Ersticktem und von Unzucht, und sollt nicht anderen tun, was ihr nicht wollt, dass euch jemand tue. Wenn ihr dies beachtet, tut ihr gut. Seid gesund.

Das Problem liegt im jQuery-Highlight-Plugin. Zum Hervorheben der Wörter wird die Wortgrenze \b im regulären Ausdruck verwendet, die bei Unicode-Zeichen nicht unterstützt wird.

https://medium.com/@shiba1014/regex-word-boundaries-with-unicode-207794f6e7ed

(?<=[\s,.:;"']|^)UNICODE_WORD(?=[\s,.:;"']|$)

Das sieht nach einer möglichen Lösung aus :thinking:

Ich glaube, @gerhard hat sich bereits mit diesem speziellen Problem bei Unicode-Benutzernamen befasst (zumindest erinnere ich mich vage daran).

Ich freue mich sehr, dass hier eine Lösung gefunden wurde, aber wir müssen extrem vorsichtig sein, dass die von uns gewählte Regex in bestimmten Fällen, in denen der Text sehr lang oder besonders problematisch ist, nicht pathologisch schlechte Performance zeigt. Außerdem glaube ich, dass wir im Chinesischen gar keine Rücksicht auf Wortgrenzen nehmen müssen?

Ein neuer PR mit der Korrektur erstellt