Position actuelle: Accueil> Derniers articles> Déterminez si le titre de l'article contient des mots sensibles (Stripos + Array)

Déterminez si le titre de l'article contient des mots sensibles (Stripos + Array)

M66 2025-05-31

Lors du développement d'un site Web ou d'un système, nous devons souvent juger si le titre de l'article contient certains mots sensibles, en particulier pour maintenir la santé du contenu. PHP fournit de nombreuses fonctions de traitement de chaîne, parmi lesquelles la fonction StripOS peut être utilisée très facilement pour savoir si une chaîne contient une sous-chaîne spécifique. Dans cet article, nous expliquerons comment utiliser la fonction Scripos pour correspondre à un tableau pour déterminer si le titre de l'article contient des mots sensibles.

1. Introduction à la fonction Stripos

La fonction StripOS est une fonction de PHP qui trouve la position d'une chaîne dans une autre chaîne. Contrairement à STRPOS , STRPOS est insensible à la casse, il est donc plus adapté à la vérification des mots sensibles qui ne prennent pas en compte le cas.

 stripos($haystack, $needle);
  • $ Haystack : la chaîne à rechercher (comme le titre de l'article).

  • $ aiguille : la sous-chaîne à trouver (comme les mots sensibles).

Si un mot sensible est trouvé, Stripos renvoie la première position d'occurrence (comptant à partir de 0), et si elle n'est pas trouvée, fausse .

2. Utilisez le tableau pour déterminer si les mots sensibles sont inclus

Supposons que nous ayons une liste de mots sensibles, comment déterminer si le titre de l'article contient ces mots sensibles? Nous pouvons stocker des mots sensibles dans un tableau, puis faire un pas dans le tableau à l'aide de Stripos pour savoir si le titre contient ces mots.

 <?php
// Liste des mots sensibles
$sensitive_words = ["pornographie", "Violence", "pari", "poison"];

// Titre d&#39;article
$title = "这是一个关于pari的文章";

// Traverser des réseaux de mots sensibles,Vérifiez si le titre contient des mots sensibles
foreach ($sensitive_words as $word) {
    if (stripos($title, $word) !== false) {
        echo "Le titre contient des mots sensibles: $word\n";
    }
}
?>

Dans cet exemple, nous définissons un tableau de mots sensible $ sensible_words , puis itéré dans ce tableau. Pour chaque mot sensible, nous utilisons des stripos pour vérifier s'il apparaît dans le titre de l'article. Si le résultat renvoyé par Stripos n'est pas faux , cela signifie que le mot sensible a été trouvé.

3. Traitez les mots sensibles et effectuez des traitements correspondants

Une fois les mots sensibles détectés, nous pouvons prendre certaines mesures, comme afficher des messages d'avertissement, interdire la publication d'articles, etc. Voici un exemple plus complet montrant comment trouver des mots sensibles dans le titre de l'article et donner des avertissements:

 <?php
// Liste des mots sensibles
$sensitive_words = ["pornographie", "Violence", "pari", "poison"];

// Titre d&#39;article
$title = "关于poison的非法交易";

// Si la balise variable contient des mots sensibles
$contains_sensitive_word = false;

// Traverser des réseaux de mots sensibles,Vérifiez si le titre contient des mots sensibles
foreach ($sensitive_words as $word) {
    if (stripos($title, $word) !== false) {
        $contains_sensitive_word = true;
        echo "Le titre contient des mots sensibles: $word\n";
    }
}

// 如果Le titre contient des mots sensibles,Retour du message d&#39;avertissement
if ($contains_sensitive_word) {
    echo "avertir:Le titre contient un contenu inapproprié,Veuillez le modifier avant de soumettre。\n";
} else {
    echo "Titre juridique,Peut continuer à publier。\n";
}
?>

Dans cet exemple, nous avons ajouté une variable $ contient_sesentitive_word pour marquer si le titre de l'article contient des mots sensibles. Si des mots sensibles sont inclus, nous donnerons un avertissement demander à l'utilisateur de modifier le titre.

4. Remplacer le nom de domaine de l'URL

En supposant que nous devons remplacer le nom de domaine de l'URL dans l'article avec lequel nous avons affaire, nous pouvons utiliser la fonction STR_REPLACE pour remplacer tous les noms de domaine d'URL du nom de domaine d'origine à m66.net . Par exemple: