Procházet zdrojové kódy

[fix] query highlight fix

asciimoo před 11 roky
rodič
revize
b9ebf18f59
1 změnil soubory, kde provedl 5 přidání a 3 odebrání
  1. 5
    3
      searx/engines/__init__.py

+ 5
- 3
searx/engines/__init__.py Zobrazit soubor

@@ -112,12 +112,14 @@ def highlight_content(content, query):
112 112
         query_regex = '({0})'.format(re.escape(query))
113 113
         content = re.sub(query_regex, '<b>\\1</b>', content, flags=re.I)
114 114
     else:
115
+        regex_parts = []
115 116
         for chunk in query.split():
116 117
             if len(chunk) == 1:
117
-                query_regex = '(\W+{0}\W+)'.format(re.escape(chunk))
118
+                regex_parts.append('\W+{0}\W+'.format(re.escape(chunk)))
118 119
             else:
119
-                query_regex = '({0})'.format(re.escape(chunk))
120
-            content = re.sub(query_regex, '<b>\\1</b>', content, flags=re.I)
120
+                regex_parts.append('{0}'.format(re.escape(chunk)))
121
+        query_regex = '({0})'.format('|'.join(regex_parts))
122
+        content = re.sub(query_regex, '<b>\\1</b>', content, flags=re.I)
121 123
 
122 124
     return content
123 125