Rumah > Artikel > pembangunan bahagian belakang > ## Bagaimana untuk Mengesan URL dengan Cekap dalam Rentetan Menggunakan PHP?
Menentukan Kehadiran Rentetan dalam Tatasusunan
Anda berhasrat untuk mengesahkan sama ada rentetan yang diserahkan pengguna mengandungi sebarang URL yang disimpan dalam tatasusunan yang telah ditetapkan. Untuk berbuat demikian, anda telah cuba menggunakan fungsi in_array(), tetapi ia secara konsisten mengembalikan "Padanan tidak ditemui" tanpa mengira input.
Pendekatan Dibetulkan
Isunya terletak pada penggunaan in_array() untuk tugas ini. Fungsi ini menilai kehadiran keseluruhan rentetan dalam tatasusunan, dan bukannya memadankan nilai separa. Untuk menyemak kemasukan rentetan, pertimbangkan alternatif berikut:
strpos():
<code class="php">if (strpos($string, $url) !== FALSE) { echo "Match found"; return true; }</code>
Fungsi ini mencari kejadian $ url dalam $string. Keputusan strpos bukan PALSU menunjukkan padanan, dan pernyataan gema dan pengembalian sewajarnya menandakan dan mengembalikan "Padanan ditemui".
strstr():
<code class="php">if (strstr($string, $url)) { echo "Match found"; return true; }</code>
strstr() berkesan mencapai operasi yang sama seperti strpos(). Ia mengembalikan bahagian $string yang mengandungi $url, dan hasil bukan FALSE sekali lagi membayangkan perlawanan yang berjaya.
Lelaran melalui Tatasusunan
Memandangkan anda ingin menyemak berbilang URL dalam tatasusunan, gunakan gelung foreach untuk melelaran melalui setiap elemen:
<code class="php">foreach ($owned_urls as $url) { if (strpos($string, $url) !== FALSE) { // or strstr($string, $url) echo "Match found"; return true; } }</code>
Gelung ini meneroka setiap URL dan jika ada yang sepadan dengan rentetan, ia menamatkan gelung , memaparkan "Padanan ditemui", dan mengembalikan benar. Sebagai alternatif, apabila membuat kesimpulan tanpa mencari padanan, skrip itu bergema "Tidak dijumpai!" dan mengembalikan palsu.
Sensitiviti Kes
Jika rentetan dan URL tidak sensitif huruf besar-besaran, gunakan fungsi stripos() atau stristr() masing-masing. Versi tidak sensitif huruf besar ini memastikan padanan adalah bebas huruf besar.
Atas ialah kandungan terperinci ## Bagaimana untuk Mengesan URL dengan Cekap dalam Rentetan Menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!