PHPで正規表現を使用してURLアドレスを抽出する方法

正則表現でURLアドレスを照合するには、preg_match 関数を使用します。

正規表現でURLをマッチさせているコードの例を以下に示します。

$url = 'http://www.example.com';

$pattern = '/^(https?|ftp):\/\/([^\s\/?#]+)(?:\/[^\s]*)?$/i';

if (preg_match($pattern, $url)) {
    echo "URL地址匹配成功!";
} else {
    echo "URL地址匹配失败!";
}

上のサンプルコードでは、 preg_match 関数を使ってURL アドレスをマッチしています。その際、正規表現のパターンは、 /^(https?|ftp):\/\/([^\s\/?#]+)(?:\/[^\s]*)?$/i を使用しています。

この正規表現のパターンの意味は次のとおりです。

  1. ^ は、文字列の先頭位置からマッチさせることを表す。
  2. http, httpsまたはftpで始まる文字列にマッチさせる(https?|ftp)
  3. ://はコロン、スラッシュ、スラッシュの連続したシーケンスをマッチさせる、つまり://記号のマッチを行う
  4. ([^\s\/?#]+)は、空白、スラッシュ、疑問符、シャープ以外の一連の文字と一致します。
  5. スラッシュと、スペース以外の任意の文字の連続(これは省略可能)を表します。
  6. $は文字列の末尾にマッチしたことを示します。

最後に preg_match 関数を使って URL を照合し、照合結果に基づいて適切な情報を表示します。

なお、これは単なるサンプルコードですので、より複雑なURLマッチングルールが必要な場合は、ご要望に合わせて正規表現のパターンを変更して下さい。

コメントを残す 0

Your email address will not be published. Required fields are marked *