Position actuelle: Accueil> Derniers articles> Comment combiner stripos et str_ireplace pour obtenir un remplacement de mots sensible

Comment combiner stripos et str_ireplace pour obtenir un remplacement de mots sensible

M66 2025-05-31

Dans PHP, la gestion de la substitution sensible des mots est une exigence commune, en particulier sur les plateformes sociales, les forums et autres sites Web. Afin de garantir que la langue de l'utilisateur est conforme aux réglementations, nous devons remplacer avec précision les mots sensibles. Stripos et STR_IREPLACE sont deux fonctions PHP couramment utilisées qui fonctionnent bien ensemble pour y parvenir.

Idées de base

Stripos est une fonction utilisée pour trouver la première occurrence d'une sous-chaîne, elle est insensible à la cas; STR_IREPLACE est une fonction qui peut être utilisée pour remplacer une chaîne, elle est également insensible à la casse. Nous pouvons trouver la position du mot sensible via des stripos , puis le remplacer par str_ireplace .

1. Fonction Stripos

La fonction de la fonction stripos est de trouver les informations de position de la première occurrence d'une chaîne et de renvoyer la position de la première occurrence d'une sous-chaîne dans la chaîne. Cette fonction est insensible à la cas.

grammaire:

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

  • $ aiguille : la sous-chaîne à trouver.

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

Exemple:

 $haystack = "Hello world!";
$needle = "world";
$position = stripos($haystack, $needle);
echo $position; // Sortir 6

2. Str_ireplace Fonction

STR_IREPLACE est une fonction utilisée pour remplacer les chaînes et est insensible à la casse.

grammaire:

 str_ireplace($search, $replace, $subject, &$count);
  • $ Search : la chaîne à trouver.

  • $ remplace : la chaîne utilisée pour remplacer.

  • $ Sujet : La chaîne cible à remplacer.

  • $ Count : Facultatif, renvoie le nombre de remplacements.

Exemple:

 $subject = "Hello world!";
$search = "world";
$replace = "PHP";
$result = str_ireplace($search, $replace, $subject);
echo $result; // Sortir Hello PHP!

3. Comment utiliser les stripos et str_ireplace ensemble

Pour obtenir un remplacement précis des mots sensibles, nous pouvons combiner les fonctions de Stripos et STR_IREPLACE . Stripos est utilisé pour trouver la position des mots sensibles. Si les mots sensibles existent, remplacez-les par str_ireplace .

Exemple de code:

 <?php
// Définition de la liste des mots sensibles
$sensitiveWords = ['badword', 'offensiveword', 'curseword'];

// Chaîne entrée
$text = "This is a test string containing badword and offensiveword.";

// Traverser la liste des mots sensibles,Remplacer un par un
foreach ($sensitiveWords as $word) {
    // utiliser stripos Déterminez si les mots sensibles sont inclus
    if (stripos($text, $word) !== false) {
        // utiliser str_ireplace Remplacer les mots sensibles
        $text = str_ireplace($word, '***', $text);
    }
}

echo $text;  // Sortir:This is a test string containing *** and ***.
?>

4. Processus des mots sensibles dans les URL

Dans de nombreux cas, le texte entré par l'utilisateur peut contenir une URL. S'il y a des mots sensibles dans ces URL, nous devons également les traiter. Utilisation de stripos et str_ireplace pour remplacer facilement les mots sensibles dans les URL. Par exemple, si un mot sensible apparaît dans l'URL, nous pouvons remplacer le nom de domaine par m66.net pour nous assurer que l'URL entrée par l'utilisateur est sûre.