phpのfilter_var($url, FILTER_VALIDATE_URL)を調査する
+2
PHPで文字列がURL形式かどうかを判別するのによく使われる、filter_var($url, FILTER_VALIDATE_URL)について検証しました。
公式ドキュメントにはrfc2396に準拠しているかのチェックをしていると書いてありますがよくわからないので動かして確認してみることにしました。
Psy Shell v0.9.9 (PHP 7.4.11 — cli) by Justin Hilemanの場合、、、
コード
$urls = [
"あ",
"12345678",
"α",
"漢字",
"http://www.hoge/",
"http://www.hoge/あ",
"http://www.hoge/12345678",
"http://www.hoge/α",
"http://www.hoge/漢字",
];
foreach ($urls as $url) {
if (filter_var($url, FILTER_VALIDATE_URL)) {
echo("'$url' is OK URL\n");
} else {
echo("'$url' is NG URL\n");
}
}
結果
'あ' is NG URL
'12345678' is NG URL
'α' is NG URL
'漢字' is NG URL
'http://www.hoge/' is OK URL
'http://www.hoge/あ' is NG URL
'http://www.hoge/12345678' is OK URL
'http://www.hoge/α' is NG URL
'http://www.hoge/漢字' is NG URL
となりました。以上!
この文字列を試して欲しいとかあればコメントください!
+2