Heim >Backend-Entwicklung >PHP-Tutorial >Wie ordne ich URLs mit oder ohne Protokoll- und Domänenpräfixe zu?
Abgleichen von URLs mit oder ohne Protokoll- und Domänenpräfixe
Bei der Arbeit mit URLs ist es oft notwendig, diese abzugleichen, unabhängig davon, ob sie das enthalten HTTP/HTTPS-Protokoll oder das Domänenpräfix „www“. Hier ist eine detaillierte Aufschlüsselung eines regulären Ausdrucks, um dies zu erreichen:
<code class="php">$regex = "(https?|ftp)://)?"; // SCHEME (Optional) $regex .= "([a-z0-9+!*(),;?&=$_.-]+(:[a-z0-9+!*(),;?&=$_.-]+)?@)?"; // User and Pass (Optional) $regex .= "([a-z0-9\-\.]*)\.(([a-z]{2,4})|([0-9]{1,3}\.([0-9]{1,3})\.([0-9]{1,3})))"; // Host or IP address $regex .= "((:[0-9]{2,5})?)?"; // Port (Optional) $regex .= "(/([a-z0-9+$_%-]\.?)+)*/?"; // Path (Optional) $regex .= "(?=[a-z+&$_.-][a-z0-9;:@&%=+/$_.-]*)?"; // GET Query (Optional) $regex .= "(#[a-z_.-][a-z0-9+$%_.-]*)?"; // Anchor (Optional)</code>
Erklärung:
Um diesen regulären Ausdruck zu prüfen, verwenden Sie die folgende Syntax:
<code class="php">preg_match("~^$regex$~i", $url, $m);</code>
Dadurch wird sichergestellt, dass die gesamte URL mit dem Muster übereinstimmt und alle optionalen Teile enthält. Durch die Verwendung dieses regulären Ausdrucks können Sie URLs in verschiedenen Formaten zuverlässig zuordnen.
Das obige ist der detaillierte Inhalt vonWie ordne ich URLs mit oder ohne Protokoll- und Domänenpräfixe zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!