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!