指定されたURLが少なくともサイト名と一致するかどうかを確認するにはどうすればよいですか?一致するURLを確認するPHPの正規表現
は私が持っている:
$url_to_match = 'http://sub.somesite.com/';
は私だけhttp://sub.somesite.com
で始まる入力は、 "MATCHが見つかりました" と言いたいです。
ご協力いただければ幸いです。
指定されたURLが少なくともサイト名と一致するかどうかを確認するにはどうすればよいですか?一致するURLを確認するPHPの正規表現
は私が持っている:
$url_to_match = 'http://sub.somesite.com/';
は私だけhttp://sub.somesite.com
で始まる入力は、 "MATCHが見つかりました" と言いたいです。
ご協力いただければ幸いです。
使用PHPのparse_url():
$url = 'http://sub.somesite.com/';
if ('sub.somesite.com' === parse_url($url, PHP_URL_HOST)) {
// we have a match
}
私はあなたが何をしているのかは、このリクエストは設計上意味がないので、教えてください。
しかし、質問に答える。
if(strpos($url_to_match, 'http://sub.anothersite.com/bla') !== FALSE) print 'bad string';
例:
function match_url($base,$input)
{
$base_host = parse_url($base,PHP_URL_HOST);
$input_host = parse_url($input,PHP_URL_HOST);
if($base_host === $input_host) {
return true;
}
else
{
return false;
}
}
$base_url = 'http://sub.somesite.com';
$input_url = 'http://sub.somesite.com//bla/bla';
echo (match_url($base_url,$input_url)) ? "URL matched" : "URL mismatched";
ありがとう、これも動作するはずです。 – swan
+1は、仕事のための適切なツールです。 OPがスキームも検証したいかどうかによって異なります。 – cmbuckley
ありがとう、仕事をうまくいった。私は正規表現のアプローチの多くと混同されました:)しかし、これは簡単です。 – swan