我使用webpy创建了一个示例博客应用程序。我在这里使用了一些代码(Replace URL with a link using regex in python)来替换URL,但是当我渲染页面时,它不会显示超链接而只显示纯文本
在我的模板中:
<p>
<i>$datestr(post.posted_on) by $user</i><br/><br/>
$urlify.formatstring(post.content)
<p>
urlify.py
def formatstring(self, value):
pat1 = re.compile(r"(^|[\n ])(([\w]+?://[\w\#$%&~.\-;:=,?@\[\]+]*)(/[\w\#$%&~/.\-;:=,?@\[\]+]*)?)", re.IGNORECASE | re.DOTALL)
pat2 = re.compile(r"(^|[\n ])(((www|ftp)\.[\w\#$%&~.\-;:=,?@\[\]+]*)(/[\w\#$%&~/.\-;:=,?@\[\]+]*)?)", re.IGNORECASE | re.DOTALL)
value = pat1.sub(r'\1<a href="\2" target="_blank">\3</a>', value)
value = pat2.sub(r'\1<a href="http://\2" target="_blank">\3</a>', value)
return value
示例文字:
这个网址会让你的生活变得轻松!所以不要点击这个。&lt; a href =“http://www.someurl.com”&gt; some url &LT; 的/ A&GT;
在呈现页面之后应该是:
这个网址会让你的生活变得轻松!所以不要点击这个。some url。
但实际是:
这个网址会让你的生活变得轻松!所以不要点击这个。&lt; a href =“http://www.someurl.com”&gt; some url &LT; 的/ A&GT;
网址未更改为超链接。
编辑:在我的模板中: 而不是$ content,应该是$:content将url视为超链接。
答案 0 :(得分:0)
代码似乎没问题,您可以发布您传递给formatstring
方法的参数