Détermination de la présence d'une chaîne dans un tableau
Vous souhaitez vérifier si une chaîne soumise par l'utilisateur contient des URL stockées dans un tableau prédéfini. Pour ce faire, vous avez tenté d'utiliser la fonction in_array(), mais elle renvoie systématiquement "Match not found" quelle que soit l'entrée.
Approche corrigée
Le problème réside dans l'utilisation de in_array() pour cette tâche. Cette fonction évalue la présence d'une chaîne entière dans un tableau, plutôt que de faire correspondre des valeurs partielles. Pour vérifier l'inclusion de chaînes, envisagez les alternatives suivantes :
strpos() :
<code class="php">if (strpos($string, $url) !== FALSE) { echo "Match found"; return true; }</code>
Cette fonction recherche l'occurrence de $ URL dans $string. Un résultat strpos non FAUX indique une correspondance, et les instructions echo et return signifient et renvoient en conséquence "Match found".
strstr():
<code class="php">if (strstr($string, $url)) { echo "Match found"; return true; }</code>
strstr() accomplit effectivement la même opération que strpos(). Il renvoie la partie de $string qui contient $url, et un résultat non FAUX implique à nouveau une correspondance réussie.
Itération dans le tableau
Puisque vous souhaitez vérifier plusieurs URL dans le tableau, utilisez une boucle foreach pour parcourir chaque élément :
<code class="php">foreach ($owned_urls as $url) { if (strpos($string, $url) !== FALSE) { // or strstr($string, $url) echo "Match found"; return true; } }</code>
Cette boucle explore chaque URL, et si une correspond à la chaîne, elle termine la boucle , affiche « Match trouvé » et renvoie vrai. Alternativement, à la conclusion sans trouver de correspondance, le script fait écho à « Not found ! » et renvoie false.
Sensibilité à la casse
Si la chaîne et les URL ne sont pas sensibles à la casse, utilisez respectivement les fonctions stripos() ou stristr(). Ces versions insensibles à la casse garantissent que les correspondances sont indépendantes de la casse.
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!