Ich möchte, dass preg_match
akzeptiert https://
und http://
sondern auch URLs, ohne dass wie google.de
, sh.st
und solche Sachen.preg_match mit 2 Regeln funktioniert nicht
Diese if-Anweisung funktioniert, aber es nimmt nur https://
und http://
URLs
if(!preg_match("/^[a-zA-Z]+[:\/\/]+[A-Za-z0-9\-_]+\\.+[A-Za-z0-9\.\/%&=\?\-_]+$/i", $flink)) {
$html = "Error: invalid URL";
}
Ich versuchte dies, aber auch dies nicht funktioniert ...
$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";
}
Was ist falsch? Das Problem Seite ist https://viid.su
Ist dir klar, dass die Übereinstimmung für '$ dbb' auskommentiert ist? Auch die Domain einer URL muss für lokale Domains kein '.' enthalten, zB:' http: // localhost/index.php'. Vielleicht möchten Sie auch in der Lage sein, diese zu parsen. – Halcyon
nein, auch ich weiß, dass es auskommentiert ist, nur weil es nicht funktioniert – Leeroy
was ist das? '(?: https? \: \/\ /)?' – Kazz