我希望preg_match
接受https://
和http://
,但不包含google.de
,sh.st
等类似的网址。
此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
答案 0 :(得分:0)
我想你想要:
/^[A-Za-z0-9\-_]+\.+[A-Za-z0-9\.\/%&=\?\-_]+$/
^-- removed a \ here.
第二个正则表达式。然后它将匹配google.de
和sh.st
。