@@ -112,12 +112,14 @@ def highlight_content(content, query):
112112 query_regex = '({0})'.format(re.escape(query))
113113 content = re.sub(query_regex, '<b>\\1</b>', content, flags=re.I)
114114 else:
115+ regex_parts = []
115116 for chunk in query.split():
116117 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)))
118119 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)
121123
122124 return content
123125