检测用户输入中的 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中文网其他相关文章!