我想那preg_match
接受https://
和http://
但也沒有那樣的URL,如google.de
,sh.st
和類似的東西。preg_match與2條規則不起作用
這個if語句的工作原理,但它僅接受https://
和http://
網址
if(!preg_match("/^[a-zA-Z]+[:\/\/]+[A-Za-z0-9\-_]+\\.+[A-Za-z0-9\.\/%&=\?\-_]+$/i", $flink)) {
$html = "Error: invalid URL";
}
我想這一點,但是這並不工作太...
$bd = "/^[a-zA-Z]+[:\/\/]+[A-Za-z0-9\-_]+\\.+[A-Za-z0-9\.\/%&=\?\-_]+$/i";
$dbb = "/^[A-Za-z0-9\-_]+\.+[A-Za-z0-9\.\/%&=\?\-_]+$/i";
if(!preg_match($bd, $flink) || !preg_match($dbb, $flink)) {
$html = "Error: invalid URL";
}
有什麼不對?問題頁https://viid.su
你是否意識到'$ dbb'的匹配被註釋掉了?此外,URL的域不需要包含本地域的'.',即:'http:// localhost/index.php'。你可能也想要解析這些。 – Halcyon
不,我也知道它被註釋掉了,只是導致它沒有工作 – Leeroy
這是怎麼回事? '(?:https?\:\/\ /)?' – Kazz