瀏覽代碼

[fix] utf8 content highlighting

asciimoo 11 年之前
父節點
當前提交
3755f437e4
共有 1 個檔案被更改,包括 7 行新增6 行删除
  1. 7
    6
      searx/engines/__init__.py

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

112
     if content.find('<') != -1:
112
     if content.find('<') != -1:
113
         return content
113
         return content
114
 
114
 
115
+    query = query.decode('utf-8')
115
     if content.lower().find(query.lower()) > -1:
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
     else:
119
     else:
119
         regex_parts = []
120
         regex_parts = []
120
         for chunk in query.split():
121
         for chunk in query.split():
121
             if len(chunk) == 1:
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
             else:
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
     return content
129
     return content
129
 
130