django'urlize'字符串就像twitter一样形成文本

时间:2010-05-23 15:40:42

标签: django url text string parsing

heyy那里

我想解析一个文本,让它命名为'post',如果它们包含一个特定字符,则在某个位置'urlize'一些字符串。

我的'伪代码'试用看起来像那样:

 def urlize(post)
      for string in post
      if string icontains ('#')
      url=(r'^searchn/$',
                    searchn,
                    name='news_searchn'),
     then apply url to the string
     return urlize(post)

我希望函数在必要时(就像twitter一样)将带有urlized字符串的帖子返回给我。

我不明白:我如何解析文本,并搜索某些字符串? 是否可以制作一个功能,特别是'urlizing'一些字符串?该函数应该返回整个帖子,无论它是否有这种字符串。 还有Django提供的另一种方式吗? 谢谢

1 个答案:

答案 0 :(得分:4)

首先,我猜你在模板中大多需要这个功能(你想要发布帖子“urlized”)。

内置template tag urlize,用作

{{ value|urlize }}

获取字符串值并使用链接返回。

如果您想自定义逻辑,可以create your own template tag

修改
要查找#个单词,您可以使用简单的正则表达式搜索:

import re
a = "hello #world. foo #bar! #foo_bar"
re.findall("#(\w+)",a)

>> ['world', 'bar', 'foo_bar']