我正在做一个项目,在这个项目中我需要检查用户输入是一个有效的 URL。
我已经为 URL 上使用的所有可能的字符进行了 preg_match。但是,如果 HTTP:// / HTTPS:// 不在 URL 前面,我试图让它显示错误。
这是我所做的。
if(preg_match('/[^0-9a-zA-Z.\-\/:?&=#%_]/', $url) || substr($url, 0, 7) != "http://" || substr($url, 0, 8) != "https://") {
但这不起作用。它一直给我一个好的消息。我不确定我在这里做错了什么,我希望能得到一些帮助!
if 语句将返回 true 或 false。所以
if(preg_match('/[^0-9a-zA-Z.\-\/:?&=#%_]/', $url) || substr($url, 0, 7) != "http://" || substr($url, 0, 8) != "https://") {
echo "true";
} else {
echo "false";
}
我只需要检查 url 是否输入了有效的 url。我不需要验证它。只需检查它是否具有 HTTP:// 或 HTTPS:// 并包含有效的 URL 字符。