ホームページ >バックエンド開発 >PHPチュートリアル >ユーザー入力内の URL を検出し、PHP の事前定義された配列と比較する方法

ユーザー入力内の URL を検出し、PHP の事前定義された配列と比較する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-10-25 05:25:02646ブラウズ

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

ユーザー入力内の URL の検出

PHP では、ユーザーが入力した文字列に事前定義された配列の URL が含まれているかどうかを判断できます。

1 つのアプローチは、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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。