我有一个表格可以从用户那里获取一些网址。例如:网址、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 的最佳方法是什么以及这些方法是如何验证的吗?
任何评论都非常感谢..
谢谢你。