如何偵測使用者輸入中的 URL 並將其與 PHP 中的預定義陣列進行比較?

Barbara Streisand
發布: 2024-10-25 05:25:02
原創
561 人瀏覽過

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

偵測使用者輸入中的URL

在PHP 中,決定使用者輸入的字串是否包含預先定義陣列中的URL 可以透過以下方式實現各種方法。

一個方法是利用 PHP 的 in_array() 函數。但是,在提供的程式碼中,由於字串和陣列元素之間不匹配,比較失敗。該字串包含一個 URL 作為較大句子的一部分,而陣列元素只是基本 URL。

另一種方法是迭代 URL 陣列並使用 PHP 的 strpos 檢查每個 URL 是否存在於字串中() 功能。如果在字串中找到任何 URL,則函數將傳回非 FALSE 值,表示符合。

以下是修改後的程式碼:

<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>
登入後複製

或者,PHP 的 strstr() 函數可以用於不區分大小寫的比較。然而,strpos() 通常因其更好的性能而被首選。

為了確保比較不區分大小寫,可以將腳本修改如下:

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

以上是如何偵測使用者輸入中的 URL 並將其與 PHP 中的預定義陣列進行比較?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!