Rumah >pembangunan bahagian belakang >tutorial php >Cara untuk mengesahkan bahawa rentetan input ialah format URL yang betul menggunakan ungkapan biasa PHP

Cara untuk mengesahkan bahawa rentetan input ialah format URL yang betul menggunakan ungkapan biasa PHP

WBOY
WBOYasal
2023-06-24 09:28:251908semak imbas

Dalam era Internet hari ini, laman web telah menjadi bahagian yang sangat diperlukan dalam kehidupan kita. Untuk mana-mana tapak web, URLnya ialah komponen paling asas. Walau bagaimanapun, terdapat banyak format untuk URL ada yang bermula dengan http:// atau https://, ada yang bermula dengan www., dan ada yang bermula dengan nama domain peringkat kedua. Jadi, bagaimana untuk menggunakan ungkapan biasa PHP untuk mengesahkan sama ada rentetan input ialah format URL yang betul? Kita juga mungkin mengetahui.

1. Fahami ungkapan biasa

Ungkapan biasa ialah alat pemprosesan teks yang berkuasa yang boleh membantu kami memadankan dan mengekstrak rentetan tertentu. Dalam PHP, ungkapan biasa boleh dicapai menggunakan fungsi preg_match(). Jika kita ingin mengesahkan sama ada rentetan mematuhi format tertentu, kita perlu menggunakan ungkapan biasa.

2. Ungkapan biasa untuk mengesahkan format URL

Dalam PHP, kami boleh menggunakan ungkapan biasa untuk mengesahkan sama ada rentetan mematuhi format URL. Berikut ialah ungkapan biasa format URL ringkas:

/^((https|http|ftp|rtsp|mms)?://)[^s]+/

Ungkapan biasa ini akan sepadan dengan format URL bermula dengan http, https, ftp, rtsp, mms dan protokol lain. Jika anda ingin mengesahkan bahawa URL hanya boleh bermula dengan protokol yang ditentukan, anda boleh menukar (https|http|ftp|rtsp|mms) dalam ungkapan biasa kepada mana-mana protokol.

3 mengoptimumkan lagi ungkapan biasa

Walaupun ungkapan biasa di atas boleh memadankan kebanyakan corak URL, ia masih mempunyai banyak kekurangan. Contohnya, ia tidak boleh memadankan nama domain peringkat kedua, tetapi hanya boleh memadankan nama domain peringkat ketiga dan ke atas. Oleh itu, kita perlu mengoptimumkan.

Berikut ialah ungkapan biasa format URL yang lebih lengkap:

/^((https|http|ftp|rtsp|mms)?://)[^s]+.[^s]{2,}|(www.)[^s]+.[^s]{2,}$/i

Ungkapan biasa ini boleh sepadan dengan jenis URL berikut:

  • http://www . example.com
  • https://www.example.com
  • ftp://www.example.com
  • rtsp://www.example.com
  • mms://www.example.com
  • www.example.com
  • xxx.example.com (nama domain peringkat kedua)

Perlu diingatkan bahawa ungkapan biasa ini tidak sensitif huruf besar-besaran, iaitu /i bermaksud tidak sensitif huruf besar-besaran.

4 Gunakan fungsi preg_match() untuk mengesahkan format URL

Sekarang kita mempunyai ungkapan biasa, langkah seterusnya ialah menggunakan fungsi preg_match() dalam PHP untuk mengesahkan sama ada a rentetan sepadan dengan Format URL.

$url = 'http://www.example.com';
$pattern = '/^((https|http|ftp|rtsp|mms)?://)[^s]+.[^s]{2,}|(www.)[^s]+.[^s]{2,}$/i';
if (preg_match($pattern, $url)) {
    echo '字符串符合网址格式';
} else {
    echo '字符串不符合网址格式';
}

Dalam kod di atas, $url ialah rentetan yang perlu disahkan dan $pattern ialah ungkapan biasa dalam format URL. Jika $string mematuhi format URL, rentetan output mematuhi format URL, jika tidak rentetan output tidak mematuhi format URL.

5 Ringkasan

Ungkapan biasa ialah alat pemprosesan teks yang sangat berkuasa, yang boleh membantu kami memadankan dan mengekstrak rentetan tertentu dengan cepat. Apabila menggunakan PHP untuk mengesahkan corak URL, kami boleh menggunakan fungsi preg_match() dan ungkapan biasa corak URL untuk melengkapkan. Pada masa yang sama, untuk meningkatkan ketepatan ungkapan biasa, kami perlu terus mengoptimumkan dan menambah baiknya supaya ia boleh memadankan corak URL yang lebih kompleks.

Atas ialah kandungan terperinci Cara untuk mengesahkan bahawa rentetan input ialah format URL yang betul menggunakan ungkapan biasa PHP. 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