Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara memadankan alamat URL dalam PHP menggunakan ungkapan biasa

Cara memadankan alamat URL dalam PHP menggunakan ungkapan biasa

WBOY
WBOYasal
2023-06-22 21:42:082500semak imbas

Dalam PHP, ungkapan biasa ialah alat berkuasa yang boleh digunakan untuk memadankan dan memproses pelbagai rentetan. Apabila memproses alamat URL, ungkapan biasa juga boleh membantu kami memadankan maklumat yang kami perlukan dengan cepat dan berkesan. Seterusnya, kami akan memperkenalkan cara menggunakan ungkapan biasa untuk memadankan alamat URL.

  1. Tentukan format alamat URL yang perlu dipadankan

Sebelum menggunakan ungkapan biasa untuk memadankan alamat URL, anda mesti terlebih dahulu menjelaskan format alamat URL yang perlu dipadankan . Secara umumnya, alamat URL boleh dibahagikan kepada dua bahagian: bahagian protokol dan bahagian laluan. Bahagian protokol termasuk http, https, ftp dan protokol lain, dan bahagian laluan termasuk nama domain, nama subdomain, direktori, nama fail, dsb. Mengikut keperluan yang berbeza, kami boleh menentukan format alamat URL yang perlu dipadankan untuk menulis ungkapan biasa dengan lebih baik.

  1. Menulis ungkapan biasa

Selepas menentukan format alamat URL yang perlu dipadankan, kita boleh menulis ungkapan biasa mengikut peraturan yang sepadan. Berikut ialah beberapa ungkapan biasa yang biasa digunakan:

(1) Padankan protokol http dan https: /^https?:///

(2) Padankan alamat URL lengkap: /^( (https?|ftp)://)?([da-z.-]+).([a-z.]{2,6})([/w .-])/?$ /

(3) Alamat IP yang sepadan: / d{1,3}.d{1,3}.d{1,3}.d{1,3} /

( 4) Nama domain yang sepadan: /([a-z0-9.-]+.[a-z]{2,6})/

(5) Nama fail yang sepadan: //([a-z0 - 9.-]+.[a-z]{2,6})$/i

  1. Gunakan ungkapan biasa untuk pemadanan dalam PHP

Dalam PHP, Kita boleh menggunakan fungsi preg_match() untuk padanan ungkapan biasa. Penggunaan khusus adalah seperti berikut:

(1) Padankan protokol http dan https:

$url = 'https://www.example.com';
if(preg_match( '/ ^https?:///', $url)) {

// 匹配成功

} lain {

// 匹配失败

}

(2) Padankan alamat URL lengkap:

$url = 'https://www.example.com/path/to/file.html';
if(preg_match('/^((https?|ftp)://)? ([ da-z.-]+).([a-z.]{2,6})([/w .-])/?$/', $url)) {

// 匹配成功

} lain {

// 匹配失败

}

(3) Padankan alamat IP:

$ip = '192.168.1.1';
jika(preg_match( '/ d{1,3}.d{1,3}.d{1,3}.d{1,3} /', $ip)) {

// 匹配成功

} lain {

// 匹配失败

}

(4) Nama domain yang sepadan:

$url = 'https://www.example.com/path/to/file.html';
if (preg_match('/([a-z0-9.-]+.[a-z]{2,6})/', $url, $matches)) {

// 匹配成功,$matches[0] 为域名

} lain {

// 匹配失败

}

(5) Padankan nama fail:

$url = 'https://www.example.com/path/to/file.html';
if(preg_match('//([a-z0-9.-]+.[a-z]{2,6})$/i', $url, $matches)) {

// 匹配成功,$matches[1] 为文件名

} else {

// 匹配失败

}

Dengan menggunakan ungkapan biasa di atas dan kod yang sepadan, kami boleh memadankan maklumat alamat URL yang kami perlukan dengan cepat dan tepat. Sudah tentu, terdapat beberapa langkah berjaga-jaga apabila menggunakan ungkapan biasa untuk memadankan alamat URL, seperti melarikan diri daripada aksara khas, mengelakkan padanan tamak, dsb. Dalam aplikasi sebenar, pelarasan fleksibel perlu dibuat mengikut syarat tertentu.

Atas ialah kandungan terperinci Cara memadankan alamat URL dalam PHP menggunakan ungkapan biasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn