ユーザーが URL の有無にかかわらず入力する状況があります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>
その場合、交換順序$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