【问题标题】:How to transform hyperlink codes into normal URL strings?如何将超链接代码转换为正常的 URL 字符串?
【发布时间】:2011-08-06 08:05:57
【问题描述】:

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

前一点很简单——只需使用字符串 replace() 方法

后面的事情比较困难,但我在这里找到了解决方案:Find Hyperlinks in Text using Python (twitter related)

但是现在我需要实现“编辑文章”功能,所以我必须对此做相反的操作。

那么,如何将http://example.com 转换为http://example.com

谢谢!我很抱歉我的英语不好。

【问题讨论】:

  • 检测和计数<>字符并对那个锚链接执行子字符串操作...

标签: python html


【解决方案1】:

听起来方法不对。使往返正常工作始终具有挑战性。相反,仅存储源文本,并仅在需要显示时将其格式化为 HTML。这样,备用输出格式/视图(RSS、摘要等)也更容易创建。

另外,我们想知道这个特殊的轮子是否需要再次重新发明......

【讨论】:

  • +1。不要试图在纯文本和 HTML 之间往返,那是一场噩梦。我认为提问者这样做是一种学习练习,而不是因为他需要一个博客系统,而重新发明轮子通常是一种很好的学习练习。
  • 你们给了我很好的反馈。我不应该做往返工作。现在我知道我应该以不同的方式解决这个问题。谢谢!
【解决方案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)

应该可以。

【讨论】:

    猜你喜欢
    • 2020-12-27
    • 2011-12-16
    • 2018-01-30
    • 1970-01-01
    • 2011-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-07
    相关资源
    最近更新 更多