on master help sign in
[fix] query highlight fix
b9ebf18asciimoo
searx/engines/__init__.py+5−3
@@ -112,12 +112,14 @@ def highlight_content(content, query):
112 query_regex = '({0})'.format(re.escape(query))
112 query_regex = '({0})'.format(re.escape(query))
113 content = re.sub(query_regex, '<b>\\1</b>', content, flags=re.I)
113 content = re.sub(query_regex, '<b>\\1</b>', content, flags=re.I)
114 else:
114 else:
115+ regex_parts = []
115 for chunk in query.split():
116 for chunk in query.split():
116 if len(chunk) == 1:
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 else:
119 else:
119− query_regex = '({0})'.format(re.escape(chunk))
120+ regex_parts.append('{0}'.format(re.escape(chunk)))
121+ query_regex = '({0})'.format('|'.join(regex_parts))
120− content = re.sub(query_regex, '<b>\\1</b>', content, flags=re.I)
122+ content = re.sub(query_regex, '<b>\\1</b>', content, flags=re.I)
121
123
122 return content
124 return content
123
125