在Python中,如果我有一个URL,那么最简单的方法是:
http://stackoverflow.com
成:
<a href="http://stackoverflow.com">http://stackoverflow.com</a>
到目前为止,我与正则表达式有很多关联,但根本没有任何作用。
答案 0 :(得分:4)
您可以使用str.format
:
>>> link = 'http://stackoverflow.com'
>>> print('<a href="{0}">{0}</a>'.format(link))
<a href="http://stackoverflow.com">http://stackoverflow.com</a>
>>>
但请注意,您需要对格式字段进行编号,因为您正在重复参数。
答案 1 :(得分:3)
你可以使用正则表达式。
>>> import re
>>> s = "http://stackoverflow.com www.foo.com"
>>> re.sub(r'\b((?:https?:\/\/)?(?:www\.)?(?:[^\s.]+\.)+\w{2,4})\b', r'<a href="\1">\1</a>', s)
'<a href="http://stackoverflow.com">http://stackoverflow.com</a> <a href="www.foo.com">www.foo.com</a>'
答案 2 :(得分:0)
url = 'http://stackoverflow.com'
reference = '<a href=\"'+ url + '\">' + url + '</a>'
答案 3 :(得分:0)
假设您已在变量中包含该字符串,或者可以获取该字符串,我建议您使用string.format
。
link = '<a href="{0}">{0}</a>'
stackOverflowLink = link.format("http://stackoverflow.com")
然后 stackOverflowLink
将包含
<a href="http://stackoverflow.com">http://stackoverflow.com</a>
答案 4 :(得分:0)
您可以使用库将 URL 转换为 HTML 标签,例如bleach:
from bleach import linkify
url = 'https://stackoverflow.com?with=param1&other=param2'
atag = linkify(url)
print(atag)
会输出
<a href="https://stackoverflow.com?with=param1&other=param2" rel="nofollow">https://stackoverflow.com?with=param1&other=param2</a>