From b9ebf18f598605695c28a3aa4f381c947397d7ee Mon Sep 17 00:00:00 2001 From: asciimoo Date: Sun, 10 Nov 2013 21:47:42 +0100 Subject: [PATCH] [fix] query highlight fix --- searx/engines/__init__.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/searx/engines/__init__.py b/searx/engines/__init__.py index c17a53f46..081b69d3e 100644 --- a/searx/engines/__init__.py +++ b/searx/engines/__init__.py @@ -112,12 +112,14 @@ def highlight_content(content, query): query_regex = '({0})'.format(re.escape(query)) content = re.sub(query_regex, '\\1', content, flags=re.I) else: + regex_parts = [] for chunk in query.split(): if len(chunk) == 1: - query_regex = '(\W+{0}\W+)'.format(re.escape(chunk)) + regex_parts.append('\W+{0}\W+'.format(re.escape(chunk))) else: - query_regex = '({0})'.format(re.escape(chunk)) - content = re.sub(query_regex, '\\1', content, flags=re.I) + regex_parts.append('{0}'.format(re.escape(chunk))) + query_regex = '({0})'.format('|'.join(regex_parts)) + content = re.sub(query_regex, '\\1', content, flags=re.I) return content