Position actuelle: Accueil> Derniers articles> Les fonctions personnalisées implémentent la version multi-clé de stripos

Les fonctions personnalisées implémentent la version multi-clé de stripos

M66 2025-05-18

Dans PHP, la fonction StripOS est utilisée pour trouver où une chaîne apparaît d'abord dans une autre chaîne (ignorer le cas). Cependant, par défaut, il ne peut trouver qu'un seul mot-clé. Si nous devons trouver plusieurs mots clés dans une chaîne et renvoyer leur position ou correspondre, nous devons personnaliser une fonction pour implémenter cette fonction.

Idées de mise en œuvre

Nous pouvons vérifier la position de chaque mot-clé dans la chaîne cible en itérant à travers plusieurs mots clés et en appelant la fonction StripOS . Si un mot-clé est trouvé, l'emplacement est enregistré. Enfin, nous pouvons retourner les résultats correspondants pour tous les mots clés. Ici, nous utiliserons un tableau pour stocker les résultats de recherche pour plusieurs mots clés et renvoyer leur emplacement ou d'autres informations pertinentes.

Implémentation du code PHP

Vous trouverez ci-dessous une simple implémentation de fonction personnalisée qui prend en charge la recherche de plusieurs mots clés dans une chaîne et le renvoi de leurs résultats correspondants.

 <?php

/**
 * Fonctions personnalisées:Prise en charge de plusieurs mots clés stripos Fonction
 *
 * @param string $haystack Chaîne cibler
 * @param array $needles Tableau de mots clés à rechercher
 * @return array Retourner un tableau associatif,Contient l&#39;emplacement de chaque mot-clé
 */
function multi_stripos($haystack, $needles) {
    $results = [];

    foreach ($needles as $needle) {
        $position = stripos($haystack, $needle);
        if ($position !== false) {
            $results[$needle] = $position;
        } else {
            $results[$needle] = null;  // Si aucun mot-clé n&#39;est trouvé,retour null
        }
    }

    return $results;
}

// Exemple:Utilisez des fonctions pour trouver plusieurs mots clés
$text = "Bienvenue sur notre site Web,m66.netFournit des ressources riches。";
$keywords = ["m66.net", "ressource", "PHP"];

$matches = multi_stripos($text, $keywords);

// Résultat de sortie
foreach ($matches as $keyword => $position) {
    if ($position !== null) {
        echo "Mots clés '{$keyword}' En place {$position} Trouvé。\n";
    } else {
        echo "Mots clés '{$keyword}' pas trouvé。\n";
    }
}

?>

Analyse de code

  1. Définition de la fonction :

    • Nous définissons une fonction appelée Multi_stripos qui prend deux paramètres:

      • $ Haystack : Target String.

      • $ aiguilles : un tableau contenant plusieurs mots clés.

    • À l'intérieur de la fonction, nous utilisons ForEach Loop pour parcourir chaque mot-clé et appeler la fonction Stripos pour trouver la première occurrence du mot-clé dans $ Haystack .

    • Si le mot-clé est trouvé, nous économisons sa position dans les résultats de la table de résultats $ . Si cela n'est pas trouvé, Null est retourné, indiquant qu'il n'y a pas de correspondance.

  2. Appel de fonction :

    • Dans l'exemple, nous définissons un texte de chaîne cible $ qui contient l'URL du site Web et un texte descriptif.

    • Nous définissons un array $ mot-clés contenant plusieurs mots clés et le transmettons à la fonction Multi_stripos pour obtenir l'emplacement de tous les mots clés.

  3. Sortie des résultats :

    • Nous traversons le tableau de résultat renvoyé et sortions la position de correspondance de chaque mot clé. Si un mot-clé n'est pas trouvé, nous allons également publier les informations rapides correspondantes.

Résultats en cours d'exécution

 Mots clés 'm66.net' En place 15 Trouvé。
Mots clés 'ressource' En place 22 Trouvé。
Mots clés 'PHP' pas trouvé。

Scénarios d'application

Cette fonction personnalisée est très adaptée aux situations suivantes:

  • Recherche de mots clés multiples : cette fonction est très utile lorsque vous devez trouver plusieurs mots clés dans le texte.

  • Optimisation des performances : par rapport à plusieurs appels à Stripos , cette méthode peut gérer de manière centralisée plusieurs opérations de recherche, améliorant ainsi la lisibilité et la maintenabilité du code.

  • Acquisition de position de correspondance des mots clés : En plus de trouver la position, vous pouvez également étendre la fonction pour renvoyer plus d'informations, telles que le mot complet correspondant ou son contexte.

résumé

En personnalisant une fonction StripOS qui prend en charge plusieurs recherches de mots clés, nous pouvons résoudre efficacement le problème de la recherche de plusieurs mots clés en même temps. Cette méthode est non seulement simple mais aussi flexible et peut étendre davantage les fonctions en fonction des besoins réels.