我有这种情况,用户可能会输入带有或不带有http(s)://. 如果它在那里,我想拥有它,否则添加http://我自己。我有以下正则表达式模式:
正则表达式:\[url\](?:https?\:\/\/)?(.*?)\[\/url\]替换:<a href="$1">$1</a>
这使得这
[url]http://blog.sanspace.in[/url]
[url]https://blog.sanspace.in[/url]
[url]blog.sanspace.in[/url]
[url]blog.sanspace.in/scraperwiki[/url]
[url]www.sanspace.in[/url]
进入这个
<a href="http://blog.sanspace.in">http://blog.sanspace.in</a>
<a href="http://blog.sanspace.in">http://blog.sanspace.in</a>
<a href="http://blog.sanspace.in">http://blog.sanspace.in</a>
<a href="http://blog.sanspace.in/scraperwiki">http://blog.sanspace.in/scraperwiki</a>
<a href="http://www.sanspace.in">http://www.sanspace.in</a>
现在,我想做的就是这样。(如果可用,使用 http(s)。否则,使用 http)
<a href="http://blog.sanspace.in">http://blog.sanspace.in</a>
<a href="https://blog.sanspace.in">https://blog.sanspace.in</a>
<a href="http://blog.sanspace.in">http://blog.sanspace.in</a>
<a href="http://blog.sanspace.in/scraperwiki">http://blog.sanspace.in/scraperwiki</a>
<a href="http://www.sanspace.in">http://www.sanspace.in</a>
我尝试将其添加http(s)为一个组。
正则表达式:\[url\](https?\:\/\/)?(.*?)\[\/url\]替换:<a href="$1$2">$1$2</a>
ut,在这种情况下更换顺序$1和$2是不同的。如果用户添加了http它$1,则 URL 变为$1.
<a href="http://blog.sanspace.in">http://blog.sanspace.in</a>
<a href="https://blog.sanspace.in">https://blog.sanspace.in</a>
<a href="blog.sanspace.in">blog.sanspace.in</a>
<a href="blog.sanspace.in/scraperwiki">blog.sanspace.in/scraperwiki</a>
<a href="www.sanspace.in">www.sanspace.in</a>
注意最后 3 个 URL。在这里我必须添加http,但前提是我知道没有添加用户http。我不确定如何实现我的目标。
我在这里测试这个问题。http://regexr.com?3711a