首页  >  文章  >  后端开发  >  如何检测用户输入中的 URL 并将其与 PHP 中的预定义数组进行比较?

如何检测用户输入中的 URL 并将其与 PHP 中的预定义数组进行比较?

Barbara Streisand
Barbara Streisand原创
2024-10-25 05:25:02562浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn