Ekspresi biasa menyediakan cara yang berkesan untuk mengekstrak data daripada rentetan kompleks, termasuk URL. Sama ada anda menggunakan URL yang mengandungi awalan "http://www" atau tidak, ungkapan biasa yang komprehensif boleh memenuhi keperluan anda.
Ungkapan berikut telah direka untuk memadankan URL dengan dan tanpa "http ://www" awalan:
((https?|ftp)://)?([a-z0-9+!*(),;?&=$_.-]+(:[a-z0-9+!*(),;?&=$_.-]+)?@)?([a-z0-9\-\.]*)\.(([a-z]{2,4})|([0-9]{1,3}\.([0-9]{1,3})\.([0-9]{1,3})))(:[0-9]{2,5})?(/([a-z0-9+$_%-]\.?)+)*/?(\?[a-z+&$_.-][a-z0-9;:@&%=+/$_.-]*)?(#[a-z_.-][a-z0-9+$%_.-]*)?
Ungkapan ini menggabungkan komponen berikut:
Untuk menggunakan ungkapan ini, anda boleh menggunakan kod PHP di bawah :
if(preg_match("~^$regex$~i", 'www.example.com/etcetc', $m)) var_dump($m); if(preg_match("~^$regex$~i", 'http://www.example.com/etcetc', $m)) var_dump($m);
Kod ini akan berjaya memadankan kedua-dua URL, tanpa mengira kehadiran awalan "http://www".
Atas ialah kandungan terperinci Bagaimana untuk Mengesan URL Pelbagai Format Menggunakan Ungkapan Biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!