如何将超链接代码转换为普通的URL字符串?

时间:2011-08-06 08:05:57

标签: python html

我正在尝试构建一个博客系统。所以我需要做一些事情,比如将'\ n'转换为< br />并将http://example.com转换为< a href ='http://example.com'> http://example.com< / A>

前者很容易 - 只需使用string replace()方法

后者更难,但我在这里找到了解决方案:Find Hyperlinks in Text using Python (twitter related)

但是现在我需要实现“编辑文章”功能,所以我必须对此采取相反的行动。

那么,我怎样才能改变< a href ='http://example.com'> http://example.com< / A>进入http://example.com

谢谢!我很抱歉我的英语很差。

2 个答案:

答案 0 :(得分:5)

听起来错误的做法。使往返工作正常是一项挑战。而是仅存储源文本,并在需要显示时将其格式化为HTML。这样,替代输出格式/视图(RSS,摘要等)也更容易创建。

另外,我们想知道这个特殊的车轮是否需要再次改造......

答案 1 :(得分:2)

由于您使用的是其他问题的答案,因此您的链接将始终采用相同的格式。所以使用正则表达式应该很容易。我不知道python,但是从最后一个问题回答:

import re

myString = 'This is my tweet check it out <a href="http://tinyurl.com/blah">http://tinyurl.com/blah</a>'

r = re.compile(r'<a href="(http://[^ ]+)">(http://[^ ]+)</a>')
print r.sub(r'\1', myString)

应该工作。

相关问题