瀏覽代碼

[fix] utf8 content highlighting

asciimoo 11 年之前
父節點
當前提交
3755f437e4
共有 1 個文件被更改,包括 7 次插入6 次删除
  1. 7
    6
      searx/engines/__init__.py

+ 7
- 6
searx/engines/__init__.py 查看文件

@@ -112,18 +112,19 @@ def highlight_content(content, query):
112 112
     if content.find('<') != -1:
113 113
         return content
114 114
 
115
+    query = query.decode('utf-8')
115 116
     if content.lower().find(query.lower()) > -1:
116
-        query_regex = '({0})'.format(re.escape(query))
117
-        content = re.sub(query_regex, '<b>\\1</b>', content, flags=re.I)
117
+        query_regex = u'({0})'.format(re.escape(query))
118
+        content = re.sub(query_regex, '<b>\\1</b>', content, flags=re.I | re.U)
118 119
     else:
119 120
         regex_parts = []
120 121
         for chunk in query.split():
121 122
             if len(chunk) == 1:
122
-                regex_parts.append('\W+{0}\W+'.format(re.escape(chunk)))
123
+                regex_parts.append(u'\W+{0}\W+'.format(re.escape(chunk)))
123 124
             else:
124
-                regex_parts.append('{0}'.format(re.escape(chunk)))
125
-        query_regex = '({0})'.format('|'.join(regex_parts))
126
-        content = re.sub(query_regex, '<b>\\1</b>', content, flags=re.I)
125
+                regex_parts.append(u'{0}'.format(re.escape(chunk)))
126
+        query_regex = u'({0})'.format('|'.join(regex_parts))
127
+        content = re.sub(query_regex, '<b>\\1</b>', content, flags=re.I | re.U)
127 128
 
128 129
     return content
129 130