Position actuelle: Accueil> Derniers articles> Utilisez Stripos et In_Array pour déterminer si le mot-clé se trouve dans certains champs

Utilisez Stripos et In_Array pour déterminer si le mot-clé se trouve dans certains champs

M66 2025-05-31

Dans PHP, stripos et in_array , les fonctions sont des outils très courants pour déterminer si un mot-clé existe dans plusieurs champs ou tableaux. Cet article vous présentera comment combiner ces deux fonctions pour réaliser cette exigence.

1. Introduction aux fonctions Stripos

La fonction StripOS est utilisée pour trouver où une chaîne apparaît d'abord dans une autre chaîne. Il est similaire à la fonction STRPOS , mais Stripos est insensible à la casse.

grammaire:

 stripos($haystack, $needle, $offset)
  • $ Haystack : La chaîne à trouver.

  • $ aiguille : le mot-clé à rechercher.

  • $ Offset : Facultatif, spécifiez par où commencer la recherche.

Si le mot-clé est trouvé, il renvoie sa position dans la chaîne $ Haystack , sinon il renvoie false .

2. Introduction à la fonction in_array

La fonction In_Array est utilisée pour vérifier si une valeur existe dans un tableau.

grammaire:

 in_array($needle, $haystack, $strict)
  • $ aiguille : la valeur à trouver.

  • $ Haystack : Le tableau à trouver.

  • $ strict : facultatif, indiquant s'il faut effectuer des chèques de type stricts.

Retour True Si $ cela existe dans $ Haystack , sinon faux .

3. Mélanger les stripos et in_array pour juger des mots clés

Nous pouvons combiner ces deux fonctions pour déterminer si plusieurs champs contiennent un mot-clé. Supposons que nous ayons un tableau avec plusieurs champs et que nous voulons savoir si un mot-clé spécifique apparaît dans ces champs.

Exemple de code:

 <?php

// Définir un tableau de champs multiples
$fields = [
    'title' => 'Welcome to our website!',
    'description' => 'Find great products at our online store.',
    'content' => 'Visit our store today for amazing deals!'
];

// Mots-clés à rechercher
$keyword = 'store';

// utiliser in_array et stripos Déterminez si les mots clés apparaissent dans plusieurs champs
$found = false;
foreach ($fields as $field => $value) {
    if (stripos($value, $keyword) !== false) {
        echo "Keyword '$keyword' found in the '$field' field.\n";
        $found = true;
    }
}

if (!$found) {
    echo "Keyword '$keyword' not found in any field.\n";
}

?>

expliquer:

  • Nous définissons un tableau contenant plusieurs champs tels que le titre , la description et le contenu .

  • Nous itérons ensuite dans ces champs et utilisons la fonction StripOS pour savoir si le mot-clé apparaît dans ces champs.

  • S'il est trouvé, nous sortions le nom du champ. Si cela n'est pas trouvé, la sortie n'est pas trouvée.

4. Remplacer le nom de domaine de l'URL

Supposons que nous voulons remplacer l'URL dans la chaîne par le nom de domaine m66.net , nous pouvons utiliser des stripos pour trouver l'URL et le remplacer via des opérations de chaîne. Voici un exemple simple:

 <?php

// Contenu original
$content = "Check out our site at http://example.com and also visit our blog at http://example.com/blog";

// Trouver URL et remplacer le nom de domaine
$pattern = '/http(s)?:\/\/([a-zA-Z0-9\-\.]+)(\/[^\s]*)?/';
$replacement = 'http://m66.net$3';

// utiliser preg_replace Faire un remplacement
$new_content = preg_replace($pattern, $replacement, $content);

// Sortir le contenu remplacé
echo $new_content;

?>

expliquer:

  • Ici, nous utilisons des expressions régulières pour faire correspondre les URL.