2011-08-06 40 views
1

我在試圖建立一個博客系統。所以,我需要做的事情一樣轉化 '\ n' 到< BR />和改造http://example.com到< A HREF = 'http://example.com'>http://example.com </A>如何將超鏈接代碼轉換爲正常的URL字符串?

前者的事情很容易 - 只需使用字符串替換()方法

後者的事情是比較困難的,但我發現這裏的解決方案:Find Hyperlinks in Text using Python (twitter related)

但現在我需要執行「編輯文章」的功能,所以我必須做這個的反向動作。

所以,我怎麼能變換< A HREF = 'http://example.com'>http://example.com </A>成http://example.com

謝謝!我爲我可憐的英語感到抱歉。

+0

檢測和計數''<' and '>字符和執行操作串到錨鏈接... – Predator

回答

2

由於您使用的是其他問題的答案,您的鏈接將始終採用相同的格式。所以使用正則表達式應該很容易。我不知道蟒蛇,但去從最後一個問題的答案:

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) 

應該工作。

+0

非常感謝你。現在我有東西要研究:) –

5

聽起來像是錯誤的方法。讓往返旅程正常工作總是充滿挑戰。而是隻存儲源文本,並且只在需要顯示時將其格式化爲HTML格式。這樣,交替輸出格式/視圖(RSS,摘要等)也更容易創建。

另外,我們不知道這個特殊的輪子是否需要重新改造...

+2

+1。不要嘗試在純文本和HTML之間往返,這是一場噩夢。我假設提問者是在做這個學習練習,而不是因爲他需要一個博客系統,重新發明輪子通常是一個很好的學習練習。 –

+0

你們給我很好的反饋。 我不應該做往返旅程。 現在我知道我應該以不同的方式解決這個問題。謝謝! –

相關問題