django 'urlize' строки образуют текст, как твиттер - PullRequest
3 голосов
/ 23 мая 2010

эй, там

Я хочу проанализировать текст, назовем его «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)

Я хочу, чтобы функция возвращала мне пост с URL-строками, где это необходимо (как это делает твиттер).

Я не понимаю: как я могу разобрать текст и найти определенные строки? Можно ли сделать функцию, специально предназначенную для «урлирования» некоторых строк? Функция должна возвращать весь пост, независимо от того, есть ли у него такие строки. Есть ли другой способ, который предлагает Django? Спасибо

1 Ответ

4 голосов
/ 23 мая 2010

Во-первых, я думаю, вам больше всего нужна эта функция в шаблонах (вы хотите представить пост "urlized").

Есть встроенный шаблон тега urlize , который используется как

{{ value|urlize }}

, который принимает строковое значение и возвращает его со ссылками.

Если вы хотите настроить логику, вы можете создать свой собственный тег шаблона .

EDIT:
Чтобы найти # слов, вы можете использовать простой поиск регулярных выражений:

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

>> ['world', 'bar', 'foo_bar']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...