こんにちは!Discourse 2.5.0.beta1 をインストールしているのですが、英語以外の言語で検索を行った場合、検索結果でキーワードのハイライトが機能しません。
これはバグでしょうか、それとも仕様でしょうか?
ありがとうございます
ここでの期待は何ですか、@sam?
完全な単語のみを強調表示します。これは部分的な単語のようです。
@vinothkannans さん、以下の箇所を少し確認していただけますか?
@smith さん、ここに正確なギリシャ語の単語を投稿していただけますか?(これはギリシャ語だと思いますが)これは、当社のハイライト用 JavaScript ライブラリのバグかもしれません。
これはギリシャ語に基づいたキリル文字です。以下に例を示します:
聖霊と私たちも、この必要なこと以外に、あなたがたに重荷を負わせることを望みません。
偶像に供えられたもの、血、絞め殺されたもの、姦淫を避け、自分がされたくないことは他人にもしないことです。これを守れば、よくしたことになります。お元気でお過ごしください。
問題は jQuery Highlight プラグインにあります。単語をハイライトするために、Unicode 文字ではサポートされていない単語境界 \b の正規表現を使用しています。
https://medium.com/@shiba1014/regex-word-boundaries-with-unicode-207794f6e7ed
(?<=[\s,.:;"']|^)UNICODE_WORD(?=[\s,.:;"']|$)
これは可能な解決策のようです ![]()
@gerhard さんは、このユニコードユーザー名に関する特定の課題に対処されたと思います(少なくともぼんやりと記憶しています)。
ここでの修正をとても嬉しく思っていますが、選択する正規表現が、テキストが長い場合や特に悪いケースにおいて、病理的に悪いパフォーマンスを示さないよう、極めて慎重になる必要があります。また、中国語では単語の境界を気にする必要はないと思います。
修正を含む新しい PR を作成しました


