我想解析来自具有#hashtag的用户输入的字符串,并将结果与其他字一起打印出来
就像facebook和twitter处理它的方式一样:)
例如: 用户发布
“你好#word,我今天正在学习#python和#django!”
我希望输出为: 你好#word,我今天正在学习#python和#django!
这是我走了多远:
@login_required
@ajax_required
def post(request):
last_feed = request.POST.get('last_feed')
user = request.user
csrf_token = (csrf(request)['csrf_token'])
feed = Feed()
feed.user = user
post = request.POST['post']
lookup_hash_tag = post.strip()
hstg=re.compile(r"#(\w+)")
#print pat.findall(s)
for hashtag in hstg.findall(lookup_hash_tag):
post = "<span><a href='/hastag/?q={}'>{}</a> </span> {}".format(hashtag, hashtag, post.replace('#', '#'))
if len(post) > 0:
feed.post = post[:255]
feed.save()
html = _html_feeds(last_feed, user, csrf_token)
return HttpResponse(html)
答案 0 :(得分:2)
我对你的问题一无所知,但我看到一些错误:
re.sub(r'#([\w]+)', r"<span><a href='/hastag/?q=\g<1>'>#\g<1></a> </span>", a)
post
变量。post.replace('#', '#')
什么都不做,围绕变量的括号什么都不做,等等)post
字段设置得更大?如果您在255处切割,则可能会丢失数据(或者在链接的中间切割)请提供更多信息,否则我们只是在猜测。