偵測使用者輸入中的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中文網其他相關文章!