正则表达式为href添加目标=“_空白”

时间:2010-11-19 15:45:22

标签: regex django hyperlink

我看起来徒劳无功,我需要获得一些链接文本并添加target =“_ blank”。我不能使用js作为简报。

链接的文字可以只是一个单词,也可以是链接的网址。

我需要获取链接文本和链接,然后使用target =“_ blank”重新创建它..

有什么想法吗?

只是澄清一下。我有: 文本或http://somelink.com/etc并需要将target_blank添加到它而不更改任何其他内容。 Js是理想的但不会起作用。

我正在使用django并想创建某种linkify过滤器

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

如果你不想用正则表达式来做,你可以

>>> 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>