Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengesahkan kesahihan URL menggunakan ungkapan biasa PHP

Bagaimana untuk mengesahkan kesahihan URL menggunakan ungkapan biasa PHP

PHPz
PHPzasal
2023-06-24 08:44:411602semak imbas

Dalam pembangunan web moden, URL sudah menjadi konsep yang sangat penting Dalam tapak web dan aplikasi web kami, URL boleh digunakan untuk mengenal pasti lokasi sumber, dan dalam banyak kes, URL tidak sah diperlukan untuk diproses. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa PHP untuk mengesahkan kesahihan URL.

Pertama, kita perlu memahami apa itu URL. URL ialah singkatan dari Uniform Resource Locator (Uniform Resource Locator), yang digunakan untuk mengenal pasti dan menerangkan sumber secara unik di Internet. URL mengandungi berbilang komponen, seperti protokol, nama hos, laluan, dsb. Format URL yang lengkap biasanya seperti berikut:

protocol://hostname[:port]/path[?query][#fragment]

Antaranya, protokol, nama hos dan laluan adalah bahagian yang diperlukan, dan bahagian lain adalah pilihan. Seterusnya, kami akan memperkenalkan cara menggunakan ungkapan biasa PHP untuk menyemak kesahihan URL.

Langkah pertama ialah mencipta ungkapan biasa untuk memadankan format URL. Memandangkan format URL yang berbeza agak berbeza, kami perlu mereka bentuk ungkapan biasa yang lebih santai Berikut adalah contoh untuk rujukan:

$pattern = '@^(https?|ftp)://[^s/$.?#].[^s]*$@i';

Maksud ungkapan biasa di atas ialah URL mesti bermula dengan a. protokol , iaitu http, https atau ftp, diikuti dengan simbol "://". Seterusnya, ikut nama hos Aksara khas seperti ruang, $, ?, #, dsb. tidak boleh wujud dalam nama hos. Akhir sekali, tidak boleh ada ruang di hujung keseluruhan URL, jadi kami menggunakan s untuk mewakili ruang dan * untuk mewakili sebarang aksara.

Seterusnya, kita perlu menulis kod untuk menggunakan ungkapan biasa yang baru kita buat untuk mengesahkan kesahihan URL. Berikut ialah contoh kod:

function validateUrl($url) {
    $pattern = '@^(https?|ftp)://[^s/$.?#].[^s]*$@i';
    return preg_match($pattern, $url);
}

Dalam kod di atas, fungsi validateUrl memerlukan parameter $url, iaitu URL yang perlu disahkan. Fungsi preg_match digunakan di dalam fungsi untuk memadankan sama ada URL sepadan dengan ungkapan biasa yang baru dibuat. Jika perlawanan berjaya, 1 dikembalikan, jika tidak 0 dikembalikan.

Akhir sekali, apabila menggunakan kod di atas, kita hanya perlu memanggil fungsi validateUrl untuk mengesan kesahihan URL. Berikut ialah contoh ujian:

$url1 = "http://www.example.com/path";
if (validateUrl($url1)) {
    echo "URL $url1 合法。
";
} else {
    echo "URL $url1 不合法。
";
}

$url2 = "http://www.example.com/path with space";
if (validateUrl($url2)) {
    echo "URL $url2 合法。
";
} else {
    echo "URL $url2 不合法。
";
}

Dalam kod di atas, kami menguji dua URL: $url1 dan $url2. URL pertama adalah sah dan tidak mempunyai aksara dan ruang khas. URL kedua mengandungi ruang dan tidak sah. Program ini akan menentukan sama ada URL itu sah berdasarkan nilai pulangan fungsi validateUrl.

Ringkasnya, artikel ini memperkenalkan cara menggunakan ungkapan biasa PHP untuk mengesahkan kesahihan URL. Masalah pengesahan URL boleh diselesaikan dengan baik dengan mencipta ungkapan biasa yang longgar dan memanggil fungsi preg_match untuk memadankan sama ada URL mematuhi format.

Atas ialah kandungan terperinci Bagaimana untuk mengesahkan kesahihan URL 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