Rumah  >  Artikel  >  pembangunan bahagian belakang  >  ## Bagaimana untuk Mengesan URL dengan Cekap dalam Rentetan Menggunakan PHP?

## Bagaimana untuk Mengesan URL dengan Cekap dalam Rentetan Menggunakan PHP?

Barbara Streisand
Barbara Streisandasal
2024-10-24 18:51:02594semak imbas

## How to Efficiently Detect URLs within a String Using 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:

  1. 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".

  2. 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!

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