ホームページ  >  記事  >  バックエンド開発  >  PHP で正規表現を使用して URL リンクを照合する方法

PHP で正規表現を使用して URL リンクを照合する方法

WBOY
WBOYオリジナル
2023-06-24 09:30:114335ブラウズ

日々の PHP 開発では、文字列の一致と置換に正規表現を使用する必要があることがよくあります。その中でも、URL リンクの一致は非常に一般的な要件です。この記事では、PHP で正規表現を使用してさまざまな URL リンクを照合する方法を紹介します。

  1. 共通 URL リンクの一致

共通 URL リンクとは、http または https で始まるリンクを指します。次の正規表現を使用してそれらを照合できます:

$pattern = "/((http|https)://[w-_]+(.[w-_]+)+([w-.,@?^=%&:/~+#!]*[w-@?^=%&/~+#])?)/i";

ここで、i は大文字と小文字を区別しないことを意味します。この正規表現は、次のタイプの URL リンクと一致します。

http://www.example.com
http://www.example.com/index.php
http://www.example.com/?id=123
https://www.example.com
https://www.example.com/index.php
https://www.example.com/?id=123
  1. IP アドレス リンクの一致

通常の URL リンクに加えて、IP アドレスも一致する必要がある場合があります。リンク。次の正規表現を使用してそれらを照合できます:

$pattern = "/((http|https)://)?(d{1,3}.d{1,3}.d{1,3}.d{1,3})(:d{1,5})?([w-.,@?^=%&:/~+#!]*[w-@?^=%&/~+#])?/i";

この正規表現は次の URL リンクと照合できます:

http://192.168.0.1
http://192.168.0.1/index.php
http://192.168.0.1/?id=123
https://192.168.0.1
https://192.168.0.1/index.php
https://192.168.0.1/?id=123
  1. URL リンクを www
  2. # と照合します。 ##場合によっては、URL リンクを www と一致させる必要があります。次の正規表現を使用してそれらを照合できます:
$pattern = "/((http|https)://)?(www.)?[w-_]+(.[w-_]+)+([w-.,@?^=%&:/~+#!]*[w-@?^=%&/~+#])?/i";

この正規表現は次のタイプの URL リンクに照合できます:

http://www.example.com
http://www.example.com/index.php
http://www.example.com/?id=123
https://www.example.com
https://www.example.com/index.php
https://www.example.com/?id=123

非プロトコル リンクの照合
  1. 場合によっては、//www.example.com などの非プロトコル リンクを照合する必要があります。次の正規表現を使用してそれらを照合できます:
$pattern = "/(^|[
 ])([w]+?://[w]+[^ "
    <]*)|(^|[
 ])([w]+?//[w]+[^ "
    <]*)|(^|[
 ])(//[w]+[^ "
    <]*)/i";

この正規表現は、次のタイプの URL リンクに照合できます:

//www.example.com
//www.example.com/index.php
//www.example.com/?id=123

さまざまな混合リンクに照合
  1. #実際の開発では、クエリ パラメーターやアンカーを含むリンク、または特殊文字を含むリンクなど、さまざまな混合リンクを照合する必要がある場合があります。次の正規表現を使用してそれらを照合できます:
  2. $pattern = "/((http|https)://)?([a-zA-Z0-9-.]+(.[a-zA-Z]{2,3})(:d{1,5})?)([w-.,@?^=%&amp;:/~+#]*[w-@?^=%&amp;/~+#])?/i";
この正規表現は次のタイプの URL リンクに照合できます:

http://www.example.com/index.php?id=123#top
https://www.example.com/home?name=john&age=20
https://www.example.com/1+1=2

これまで、正規表現の使用方法を紹介しました。 URL リンク。実際の開発では、必要に応じて適切な正規表現を選択してマッチングを完了できます。同時に、正規表現はパフォーマンスに一定の影響を与えるため、大量のデータを処理する場合はパフォーマンスの問題に注意する必要があることに注意してください。

以上がPHP で正規表現を使用して URL リンクを照合する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。