8768 sujets

Développement web côté serveur, CMS

Bonjour,
J'ai un champ texte dans lequel l'internaute fait sa requete en mode texte. Je dois analyser la phrase saisie. Comment faire pour exclure les mots impolis. Existe il une liste de mots disponible en français et anglais ? Merci
Modérateur
Salut,

En perf (même avec un générateur), ça va te couter cher. Il te faut un dictionnaire (fichier txt contenant les mots à proscrire) et vérifier que chaque ligne de ce dictionnaire, il n'y ait pas ce motif dans ton texte à vérifier.
Imagine un dictionnaire contenant 1 000 000 lignes...
Modifié par niuxe (01 Jan 2023 - 17:21)
En plus, pour éviter de se faire coincer à la publication, certains vont ajouter des points ou autres caractères spéciaux dans les insultes. C'est pas gagné.
Bonjour,

Cela dépend du nombre de gros mots à exclure mais c'est assez facile à faire côté serveur.

Par exemple, avec PHP.

$texte = 'merde putain';

$gros_mots = array ('merde', 'putain', 'bordel');

foreach ($gros_mots AS $v)
{
$texte = str_replace ($v, '', $texte);
}


Il y a d'autres façons de faire.
Même avec plusieurs centaines de mots dans $gros_mots ce sera très rapide.
Modifié par boteha_2 (01 Jan 2023 - 19:44)
Salut

Quoi que vous fassiez, les utilisateurs trouveront des moyens de contourner vos filtres. Ils utiliseront des caractères unicode Ils utiliseront des espaces, des signes dollar, des astérisques, tout ce que vous n'avez pas encore réussi à saisir.

Solutions ? demandez à une personne d'examiner le contenu avant sa mise en ligne. Sinon, remplissez une fonction de signalement afin que d'autres personnes puissent signaler un contenu offensant.