ユーザーからいくつかのURLを取得するためのフォームがあります。例:Webアドレス、Facebookアドレス、Twitterアドレス、Google +アドレスなど...私の問題は、フォームを送信するときにこれらのURLを検証する方法です。FILTER_VALIDATE_URLを使用するか、単純に正規表現を使用して、PHPでURLを検証しようとしました。
ここでは、ユーザーからそのようなURLを取得するための最良の方法を知りたいと思います。彼らにプロトコルを入力させることは常に良いことですか?http、https、ftp、ftpsなどであることがわからない場合もあります。一部のユーザーにとっては難しいことだと思います。
FILTER_VALIDATE_URLを使用してこのようなものを試しましたが、常にプロトコルを使用しており、その動作がわかりにくい場合があります。
// validate url
$url = 'http://www.example.com';
if (filter_var( $url, FILTER_VALIDATE_URL)){
echo "<br>valid";
} else {
echo "<br>invalid";
}
出力:有効
// validate url
$url = 'hp://www.example.com';
if (filter_var( $url, FILTER_VALIDATE_URL)){
echo "<br>valid";
} else {
echo "<br>invalid";
}
出力:有効
// validate url
$url = 'http://example.com';
if (filter_var( $url, FILTER_VALIDATE_URL)){
echo "<br>valid";
} else {
echo "<br>invalid";
}
出力:有効
// validate url
$url = 'http://example.com?id=32&name=kamalani';
if (filter_var( $url, FILTER_VALIDATE_URL)){
echo "<br>valid";
} else {
echo "<br>invalid";
}
OUTPUT : valid
ユーザーからURLを取得するための最良の方法と、それらを検証する方法を教えてください。
コメントは大歓迎です。
ありがとうございました。