Cara memadankan pautan url menggunakan ungkapan biasa dalam PHP

WBOY
Lepaskan: 2023-06-24 12:22:01
asal
4342 orang telah melayarinya

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.

  1. Padankan pautan URL biasa

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";
Salin selepas log masuk

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
Salin selepas log masuk
Salin selepas log masuk
  1. Padankan pautan alamat IP

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";
Salin selepas log masuk

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
Salin selepas log masuk
  1. Padankan pautan URL dengan www

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";
Salin selepas log masuk

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
Salin selepas log masuk
Salin selepas log masuk
  1. Padanan pautan bukan protokol

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";
Salin selepas log masuk

Ungkapan biasa ini boleh memadankan jenis pautan URL berikut:

//www.example.com
//www.example.com/index.php
//www.example.com/?id=123
Salin selepas log masuk
  1. Padankan pelbagai pautan bercampur

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-.,@?^=%&amp;:/~+#]*[w-@?^=%&amp;/~+#])?/i";
Salin selepas log masuk

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
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan