PHP 正規表現の練習: URL のマッチング
インターネットの普及により、URL は日常生活に欠かせないものになりました。 Web デザインやデータ クローリングなどでは、URL を照合するために正規表現を使用する必要があることがよくあります。この記事では、PHP の正規表現を使用して URL を照合する方法に焦点を当てます。
URL の基本構造
まず、URL の基本構造を理解しましょう。一般に、URL は次の部分で構成されます。
プロトコル名: http、https など
ホスト名: ドメイン名または IP アドレス
ポート番号: 80、8080 など (オプション)
Path: ページの特定の場所を指す (オプション)
クエリ文字列: GET リクエスト中に渡されるパラメーター (オプション)
Fragment: ページ内の特定の場所を指すアンカー ポイント (オプション)
いくつかの例:
http://www.example.com:8080/index.html?id=1#top
https://192.168.1.1/ aboutUs.html
https://www.google.com/search?q=php 正規表現
ftp://ftp.example.com/public/files/manual.pdf
上記の例には、さまざまなプロトコル、ホスト名、ポート番号、パス、クエリ文字列、フラグメントが含まれています。
正規表現の概念
正規表現は、複数の種類の情報を照合するために使用できる文字列照合メカニズムです。正規表現は通常、いくつかの特殊文字、通常の文字、括弧、および文字の数、位置、種類を指定するために使用できるその他のパラメータで構成されます。 PHP では、preg_match() 関数を使用して正規表現を照合できます。
単純な正規表現を作成する
上記の基本概念を理解した後、URL に一致する単純な正規表現を作成できます。以下は具体的な例です:
$pattern = '/^((http|https|ftp)://)?[a-z0-9-] (.[a-z0-9-] ) ([/?#:][^s]*)?$/';
$url = 'http://www.example.com/index.html?id=1';
preg_match($pattern, $url, $matches);
print_r($matches);
上記の例では、URL と一致する正規表現 $pattern を定義し、preg_match を使用します。 () 関数を照合します。最後に、照合結果が出力されます。
分析コード
正規表現は、基本構造と、プロトコル名、ホスト名、パスなどの各コンポーネントの一致部分の 2 つの部分で構成されます。以下で一つずつ説明していきましょう。
基本構造: '^((http|https|ftp)://)?'
プロトコル名: '(http|https|ftp)://'
ホスト名: '[a-z0-9-] (.[a-z0-9-] ) '
パス、クエリ文字列およびフラグメント: '([/?#:]1*)?'
以上がPHP 正規表現の動作: URL の一致の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。