Dalam pembangunan PHP harian, kita selalunya perlu menggunakan ungkapan biasa untuk memadankan dan menggantikan rentetan. Antaranya, pautan URL yang sepadan adalah keperluan yang sangat biasa. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa dalam PHP untuk memadankan pelbagai pautan URL.
Pautan URL biasa merujuk kepada pautan bermula dengan http atau https. Kita boleh menggunakan ungkapan biasa berikut untuk memadankannya:
$pattern = "/((http|https)://[w-_]+(.[w-_]+)+([w-.,@?^=%&:/~+#!]*[w-@?^=%&/~+#])?)/i";
di mana saya bermaksud tidak peka huruf besar-besaran. Ungkapan biasa ini boleh sepadan dengan jenis pautan URL berikut:
http://www.example.com http://www.example.com/index.php http://www.example.com/?id=123 https://www.example.com https://www.example.com/index.php https://www.example.com/?id=123
Selain pautan URL biasa, kadangkala kita juga perlu memadankan alamat IP pautan. Kita boleh menggunakan ungkapan biasa berikut untuk memadankannya:
$pattern = "/((http|https)://)?(d{1,3}.d{1,3}.d{1,3}.d{1,3})(:d{1,5})?([w-.,@?^=%&:/~+#!]*[w-@?^=%&/~+#])?/i";
Ungkapan biasa ini boleh memadankan pautan URL berikut:
http://192.168.0.1 http://192.168.0.1/index.php http://192.168.0.1/?id=123 https://192.168.0.1 https://192.168.0.1/index.php https://192.168.0.1/?id=123
Dalam sesetengah kes, kami perlu memadankan pautan URL dengan www. Kita boleh menggunakan ungkapan biasa berikut untuk memadankannya:
$pattern = "/((http|https)://)?(www.)?[w-_]+(.[w-_]+)+([w-.,@?^=%&:/~+#!]*[w-@?^=%&/~+#])?/i";
Ungkapan biasa ini boleh memadankan jenis pautan URL berikut:
http://www.example.com http://www.example.com/index.php http://www.example.com/?id=123 https://www.example.com https://www.example.com/index.php https://www.example.com/?id=123
Dalam sesetengah kes, kita perlu memadankan pautan bukan protokol, seperti //www.example.com. Kita boleh menggunakan ungkapan biasa berikut untuk memadankannya:
$pattern = "/(^|[ ])([w]+?://[w]+[^ " <]*)|(^|[ ])([w]+?//[w]+[^ " <]*)|(^|[ ])(//[w]+[^ " <]*)/i";
Ungkapan biasa ini boleh memadankan jenis pautan URL berikut:
//www.example.com //www.example.com/index.php //www.example.com/?id=123
Dalam pembangunan sebenar, kita mungkin perlu memadankan pelbagai pautan bercampur, seperti pautan dengan parameter pertanyaan atau sauh, atau pautan dengan aksara khas. Kami boleh menggunakan ungkapan biasa berikut untuk memadankannya:
$pattern = "/((http|https)://)?([a-zA-Z0-9-.]+(.[a-zA-Z]{2,3})(:d{1,5})?)([w-.,@?^=%&:/~+#]*[w-@?^=%&/~+#])?/i";
Ungkapan biasa ini boleh memadankan jenis pautan URL berikut:
http://www.example.com/index.php?id=123#top https://www.example.com/home?name=john&age=20 https://www.example.com/1+1=2
Setakat ini, kami telah memperkenalkan cara menggunakan ungkapan biasa Padankan pelbagai pautan URL. Dalam pembangunan sebenar, kita boleh memilih ungkapan biasa yang sesuai untuk melengkapkan pemadanan mengikut keperluan. Pada masa yang sama, perlu diingatkan bahawa ungkapan biasa mempunyai kesan tertentu pada prestasi, jadi anda perlu memberi perhatian kepada isu prestasi apabila memproses sejumlah besar data.
Atas ialah kandungan terperinci Cara memadankan pautan url menggunakan ungkapan biasa dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!