Comment détecter les URL dans les entrées utilisateur et les comparer à un tableau prédéfini en PHP ?

Barbara Streisand
Libérer: 2024-10-25 05:25:02
original
561 Les gens l'ont consulté

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

Détection des URL dans les entrées utilisateur

En PHP, déterminer si une chaîne saisie par l'utilisateur contient une URL à partir d'un tableau prédéfini peut être obtenu via diverses méthodes.

Une approche consiste à utiliser la fonction in_array() de PHP. Cependant, dans le code fourni, la comparaison échoue en raison d'une incompatibilité entre les éléments de chaîne et de tableau. La chaîne contient une URL dans le cadre d'une phrase plus longue, alors que les éléments du tableau ne sont que des URL de base.

Une méthode alternative consiste à parcourir le tableau d'URL et à vérifier si chacune est présente dans la chaîne à l'aide des strpos de PHP. () fonction. Si une URL est trouvée dans la chaîne, la fonction renvoie une valeur non FAUX, indiquant une correspondance.

Voici le code modifié :

<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>
Copier après la connexion

Alternativement, la fonction strstr() de PHP peut être utilisé pour des comparaisons insensibles à la casse. Cependant, strpos() est généralement préféré pour ses meilleures performances.

Pour garantir que la comparaison ne respecte pas la casse, le script peut être modifié comme suit :

<code class="php">if ( stripos($string, $url) !== FALSE ) {
    // ...
}</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!