使用自定义模板标记突出显示的搜索结果

时间:2018-12-19 11:59:40

标签: django django-templates

我的自定义模板标记,用于突出显示搜索结果中的查询。

def highlight(text, word):
    return mark_safe(text.replace(word, "<Strong>%s</Strong>" % word))

正在工作,问题是 它不会忽略大小写, 我想通过使用正则表达式来做到这一点,不知道天气mark_safe将支持,在这种情况下没有找到任何文档作为示例

word =search query

text =search result 

1 个答案:

答案 0 :(得分:0)

在正则表达式中使用子方法,该方法将查找并替换给定字符串中的给定查询(repl)。

语法:

re.sub(pattern, repl, string, count=0, flags=0);

代码:

def highlight(text, word):
   word=word.lower()
   result=re.sub(word ,"<Strong>%s</Strong>" % word,text,flags=re.IGNORECASE)
   return mark_safe(result)