私は自分自身を試してオンラインで検索してきましたが、この正規表現を書くのは成功しませんでした。正規表現による特定ドメインのURL検証
指定されたURLが特定のドメインのもので、正しい形式のリンク(PHPのもの)であることを検証する必要があります。たとえば、次のように
グッドドメイン:example.comからexample.com
だから、良いのURL:
- http://example.com/so/this/is/good
- http://example.com/so/this/is/good/index.html
- http://www.examle.com/so/this/is/good/mice.html#anchortag
- http://anysubdomain.example.com/so/this/is/good/wow.php
- http://anysubdomain.example.com/so/this/is/good/wow.php?search=doozy example.comから
だから、悪いのURLません:
いくつかの注意:私は "HTTP" を気にしない verus "https"しかし、あなたが "http"を常にとることに問題がある場合 この正規表現を使用するコードはPHPなので、それ。
UPDATE 2010:
グルーバーは偉大なURLの正規表現を追加します。
?i)\b((?:[a-z][\w-]+:(?:/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))
は彼のポストを参照してください:An Improved Liberal, Accurate Regex Pattern for Matching URLs
"良いドメイン"の例は、有効なURLではありません**(パスがありません)。 –
@Nikolar Ruhe:パスは実際にはオプションです: "http://" hostport ["/" hpath ["?"検索URL] [RFC 1738参照] – Gumbo
これは有効なURLではなく、例のURLで使用されている有効なドメインを示していますが、「blah.com」と言うだけで十分でしょう。いずれにせよ、私はその要点が作られたと思う。 – donohoe