2010-11-19 28 views
0

我已經看着白白,我需要得到一些鏈接文本,並添加target =「_ blank」。我不能使用js,因爲它是通訊。正則表達式的href添加一個目標=「_ blank」

鏈接的文本可能只是一個詞,或者它可能是鏈接的網址。

我需要獲得鏈接文本和鏈接,然後在目標=「_空白」重新創建它..

任何想法?

只是爲了澄清。我有: 文本或http://somelink.com/etc,並且需要添加target_blank而不更改其他任何內容。 Js將是理想的,但不會工作。

我使用Django和希望建立某種linkify濾波器

+0

只是字符串替換' 2010-11-19 15:48:42

+2

http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – jwueller 2010-11-19 15:50:56

+0

現貨!你是個天才!我認爲這應該工作!我一直在想它:D – Designer023 2010-11-19 15:55:20

回答

0

也許類似pyquery

>>> from pyquery import PyQuery 
>>> d = PyQuery('<a href="http://google.com">My Link</a>') 
>>> print d('a').attr('target', '_blank') 
<a href="http://google.com" target="_blank">My Link</a> 
+0

看起來很有希望。我會盡快給它一個 – Designer023 2010-11-19 16:36:21

0

如果你wan't使用正則表達式來做到這一點,你可以

>>> import re 

>>> link = """<a href="somesite">This is the link to some site</a>""" 

>>> e = re.sub(r'<a(?P<in_a>[^>]+)>(?P<in_link>[^<]+)</a>', 
     r'<a \g<in_a> target="_blank" > \g<in_link> </a>', 
     link, 
     ) 
>>> print e 
<a href="somesite" target="_blank" > This is the link to some site </a> 
+0

oooh這看起來很有用。乾杯兄弟。我會放棄這一點,因爲它具有更強大的用途,而不僅僅是替換 Designer023 2010-11-19 16:35:39