答案 0 :(得分:1)
答案 1 :(得分:0)
查看python re
模块。
例如,取John Gruber's URL regex pattern并将其与his data set匹配,您可以执行以下操作...
giant_regex = r'''(?i)\b((?:[a-z][\w-]+:(?:/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))'''
output_with_links = re.sub(giant_regex, r'<a href="\1">\1</a>', source_html)
不幸的是,这将捕获不需要转换的实际链接,但现在你的问题是找到正确的正则表达式(我相信如果你看,我肯定已在网上记录)。 python和django部分已经完成。
答案 2 :(得分:0)
这不是一个完整的答案,但会让你开始:在Django中做你想做的事,你需要(1)获取用户提交的输入文本,(2)解析它的url模式,以及(3)返回带有超链接的html以在视图中显示。
我不知道是否有针对此目的的规范正则表达式,但有些效果似乎正常的here和this answer。
在SO中,正如您所注意到的,解析后的文本首先显示在单独的中
显示框,一旦你点击“提交”,就会重新渲染。您可以选择多种方式呈现文本(例如,使用Javascript解析客户端上的文本)。但是,对于第一阶段,您可能只需创建一个“结果”页面,每个网址都替换为该网址的超链接(<a href='url'>url</a>
)。