Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana Mengesan URL dalam Input Pengguna dan Membandingkannya Dengan Tatasusunan Pratakrif dalam PHP?

Bagaimana Mengesan URL dalam Input Pengguna dan Membandingkannya Dengan Tatasusunan Pratakrif dalam PHP?

Barbara Streisand
Barbara Streisandasal
2024-10-25 05:25:02562semak imbas

How to Detect URLs in User Input and Compare Them Against a Predefined Array in PHP?

Mengesan URL dalam Input Pengguna

Dalam PHP, menentukan sama ada rentetan yang dimasukkan pengguna mengandungi URL daripada tatasusunan yang telah ditetapkan boleh dicapai melalui pelbagai kaedah.

Satu pendekatan ialah menggunakan fungsi in_array() PHP. Walau bagaimanapun, dalam kod yang disediakan, perbandingan gagal disebabkan oleh ketidakpadanan antara rentetan dan elemen tatasusunan. Rentetan mengandungi URL sebagai sebahagian daripada ayat yang lebih besar, manakala elemen tatasusunan hanyalah URL asas.

Kaedah alternatif melibatkan lelaran melalui tatasusunan URL dan menyemak sama ada setiap satu terdapat dalam rentetan menggunakan strpos PHP () fungsi. Jika mana-mana URL ditemui dalam rentetan, fungsi itu mengembalikan nilai bukan FALSE, menunjukkan padanan.

Berikut ialah kod yang diubah suai:

<code class="php">$string = 'my domain name is website3.com';
foreach ($owned_urls as $url) {
    if (strpos($string, $url) !== FALSE) {
        echo "Match found"; 
        return true;
    }
}
echo "Not found!";
return false;</code>

Sebagai alternatif, fungsi strstr() PHP boleh digunakan untuk perbandingan tidak peka huruf besar-besaran. Walau bagaimanapun, strpos() biasanya lebih disukai untuk prestasinya yang lebih baik.

Untuk memastikan perbandingan tidak sensitif huruf besar-besaran, skrip boleh diubah suai seperti berikut:

<code class="php">if ( stripos($string, $url) !== FALSE ) {
    // ...
}</code>

Atas ialah kandungan terperinci Bagaimana Mengesan URL dalam Input Pengguna dan Membandingkannya Dengan Tatasusunan Pratakrif dalam 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