Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Memadankan URL dengan atau Tanpa Protokol dan Awalan Domain?
Memadankan URL dengan atau Tanpa Protokol dan Awalan Domain
Apabila bekerja dengan URL, selalunya perlu memadankannya tanpa mengira sama ada ia termasuk Protokol HTTP/HTTPS atau awalan domain "www". Berikut ialah pecahan terperinci ungkapan biasa untuk mencapai ini:
<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>
Penjelasan:
Untuk menyemak terhadap ungkapan biasa ini, gunakan sintaks berikut:
<code class="php">preg_match("~^$regex$~i", $url, $m);</code>
Ini memastikan bahawa keseluruhan URL sepadan dengan corak dan termasuk mana-mana bahagian pilihan. Dengan menggunakan ungkapan biasa ini, anda boleh memadankan URL dalam pelbagai format dengan pasti.
Atas ialah kandungan terperinci Bagaimana untuk Memadankan URL dengan atau Tanpa Protokol dan Awalan Domain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!