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

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

WBOY
リリース: 2023-06-24 12:22:01
オリジナル
4360 人が閲覧しました

日々の 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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート