Rumah > Artikel > pembangunan bahagian belakang > Ungkapan biasa PHP dalam tindakan: memadankan URL
Amalan ungkapan biasa PHP: memadankan URL
Dengan populariti Internet, URL telah menjadi bahagian yang amat diperlukan dalam kehidupan seharian. Dalam reka bentuk web, merangkak data, dsb., kita selalunya perlu menggunakan ungkapan biasa untuk memadankan URL. Dalam artikel ini, kami akan menumpukan pada cara ungkapan biasa dalam PHP boleh digunakan untuk memadankan URL.
Struktur asas URL
Mula-mula, mari kita fahami struktur asas URL. Secara umumnya, URL terdiri daripada bahagian berikut:
Nama protokol: http, https, dll.
Nama hos: nama domain atau alamat IP
Nombor port: 80, 8080, dsb. ( pilihan)
Laluan: menunjuk ke lokasi tertentu halaman (pilihan)
Rentetan pertanyaan: parameter yang diluluskan dalam permintaan GET (pilihan)
Fragmen: titik utama, menunjuk ke lokasi tertentu dalam halaman ( pilihan)
Beberapa contoh:
http://www.example.com:8080/index.html?id=1#top
https://192.168.1.1/ aboutUs. html
https://www.google.com/search?q=php+regular+expression
ftp://ftp.example.com/public/files/manual.pdf
Di atas Dalam contoh, protokol yang berbeza, nama hos, nombor port, laluan, rentetan pertanyaan dan serpihan terlibat.
Konsep ungkapan biasa
Ungkapan biasa ialah mekanisme padanan rentetan yang boleh digunakan untuk memadankan pelbagai jenis maklumat. Ungkapan biasa biasanya terdiri daripada beberapa aksara khas, aksara biasa, kurungan dan parameter lain, yang boleh digunakan untuk menentukan nombor, kedudukan dan jenis aksara. Dalam PHP, kita boleh menggunakan fungsi preg_match() untuk memadankan ungkapan biasa.
Bina ungkapan biasa yang ringkas
Selepas memahami konsep asas di atas, kita boleh membina ungkapan biasa yang ringkas untuk dipadankan dengan URL. Berikut ialah contoh khusus:
$pattern = '/^((http|https|ftp)://)?[a-z0-9-]+(.[a-z0-9- ] +)+([/?#:][^s]*)?$/';
$url = 'http://www.example.com/index.html?id=1';
preg_match($pattern, $url, $matches);
print_r($matches);
Dalam contoh di atas, kami mentakrifkan ungkapan biasa $pattern untuk memadankan URL, dan kemudian gunakan fungsi preg_match () untuk dipadankan. Akhirnya, hasil yang sepadan dicetak.
Kod analisis
Ungkapan biasa terdiri daripada dua bahagian, iaitu: struktur asas dan bahagian yang sepadan bagi setiap komponen seperti nama protokol, nama hos, laluan, dsb. Mari kita jelaskan satu persatu di bawah.
Struktur asas: '^((http|https|ftp)://)?'
Nama protokol: '(http|https|ftp)://'
Nama hos: '[a-z0-9-]+(.[a-z0-9-]+)+'
Laluan, rentetan pertanyaan dan serpihan: '([/?#:]1*)?'
Ringkasnya, ungkapan biasa di atas Formula boleh memadankan sebarang jenis URL. Satu perkara yang perlu diambil perhatian ialah dalam pembangunan sebenar, kita mungkin perlu mengubah suai atau mengembangkan peraturan ungkapan biasa mengikut keperluan khusus.
Ringkasan
Ungkapan biasa digunakan secara meluas dalam PHP dan boleh digunakan untuk memadankan dan mengesahkan aksara, nombor, e-mel, nombor telefon dan jenis maklumat lain. Artikel di atas memperkenalkan cara memadankan URL melalui ungkapan biasa, dan juga memperkenalkan secara ringkas konsep asas ungkapan biasa. Saya berharap pembaca akan mempunyai pemahaman yang lebih mendalam tentang aplikasi ungkapan biasa.
Atas ialah kandungan terperinci Ungkapan biasa PHP dalam tindakan: memadankan URL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!