|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
caro WRInaute passionné

Inscrit le: 21 Juil 2003 Messages: 872
|
Posté le : Ven Nov 19, 2004 12:20 Sujet du message: chercher les injures |
|
|
salut
je cherche à trier les messages d'une base de données qui contiennent des injures (style connard, enculé, ... )
1) si je fais :
WHERE message='con'
ca trouve pas car les messages contiennent plusieurs mots (ex : "espèce de con" n'est pas trouvé)
2) si je fais :
WHERE message LIKE '%con%'
et bien ca trouve aussi les messages qui contiennent "contenu" ou "incontinence" ... donc c'est pas bon
quelle est la requete pour trouver vraiment un mot exact dans un message ?
merci |
|
| |
|
 |
totoro WRInaute passionné

Inscrit le: 28 Juil 2004 Messages: 892 Localisation: Devant le bouzin
|
Posté le : Ven Nov 19, 2004 12:23 Sujet du message: chercher les injures |
|
|
WHERE message LIKE '% conna.. %' (les ... c'est pour pas être vulgaire... on sais jamais )
Dernière édition par totoro le Ven Nov 19, 2004 12:37; édité 1 fois |
|
| |
|
 |
caro WRInaute passionné

Inscrit le: 21 Juil 2003 Messages: 872
|
Posté le : Ven Nov 19, 2004 12:31 Sujet du message: chercher les injures |
|
|
merci pour ta réponse mais avec LIKE ca coince,
si on cherche :
WHERE message LIKE '%pute%'
et bien ca trouve aussi tous les mots qui contiennent les lettres "p u t e" donc ca trouve "amputer" ....
quelqu'un a une autre idée pour trouver un mot exact dans un message ? |
|
| |
|
 |
totoro WRInaute passionné

Inscrit le: 28 Juil 2004 Messages: 892 Localisation: Devant le bouzin
|
Posté le : Ven Nov 19, 2004 12:36 Sujet du message: chercher les injures |
|
|
| Sauf que dans mon exemple je parse les espaces autour du mot pour éviter les problème... |
|
| |
|
 |
tom_pascal WRInaute impliqué

Inscrit le: 17 Nov 2003 Messages: 278
|
Posté le : Ven Nov 19, 2004 13:07 Sujet du message: chercher les injures |
|
|
Ouais, mais sauf qu'en mettant un espace avant et après, ca va marcher dans beaucoup de cas :
Exemple :
| Citation: |
| c'est vraiment un google de première celui-là ! |
je suppose que google est devenu un gros mot dans mes exemples
Mais ca ne marchera pas (pas détecté) si le mot est en début ou en fin de phrase, ou qu'un caractère est collé à ce mot comme dans :
| Citation: |
| Mais t'es vraiment un gros google!!!! |
En fait, il n'y a pas à ma connaissance de solution qui marche dans 100% des cas.. soit on en laisse un peu de côté, soit on est très prudent, et là il y a des "dommage colatéraux" comme dans tes premiers exemples (censures non justifiées)
Le meilleur moyen serait surement de détecter les messages en" like %google%" et de les faire valider ou supprimer par un humain qui peut lire le contexte... |
|
| |
|
 |
caro WRInaute passionné

Inscrit le: 21 Juil 2003 Messages: 872
|
Posté le : Ven Nov 19, 2004 13:27 Sujet du message: chercher les injures |
|
|
merci beaucoup pour votre aide
je ferais certainement un LIKE et je vérifirais manuellement
encore merci
caro  |
|
| |
|
 |
Oncle Tom WRInaute passionné

Inscrit le: 31 Mar 2003 Messages: 808 Localisation: Bordeaux, France
|
Posté le : Ven Nov 19, 2004 13:42 Sujet du message: chercher les injures |
|
|
Tu peux faire un super truc en utilisant les expressions régulières qui en plus vérifiera plusieurs mots d'un coup !!
| Code: |
$mots_interdits = "vilaine|pasbelle|W. Bush";
$sql = mysql_query("SELECT * FROM blabla WHERE messages REGEXP '[^[:alnum:]]+({$mots_interdits})[^[:alnum:]]+'");
|
Pour la suite et ajuster : http://dev.mysql.com/doc/mysql/en/Regexp.html |
|
| |
|
 |
totoro WRInaute passionné

Inscrit le: 28 Juil 2004 Messages: 892 Localisation: Devant le bouzin
|
Posté le : Ven Nov 19, 2004 13:47 Sujet du message: chercher les injures |
|
|
Oui effectivement c'est bien plus souple et complet en regexp....
Sinon si tu veux rester dans du LIKE, il faut essayer de checker un max de cas possible, ce qui comme l'est indiqué plus haut est quasi impossible à 100%
(Me semble que le moteur de phpbb utilise des regexp aussi pour les mots interdits ... a vérifier). |
|
| |
|
 |
Erazor WRInaute accro

Inscrit le: 14 Fév 2004 Messages: 5187
|
Posté le : Ven Nov 19, 2004 14:17 Sujet du message: chercher les injures |
|
|
Les informaticiens de génie ont avancé des solutions tech reste a donner le feedback de l'utilité d'un tel truc : il est voisin de néant.
Why ?
Boursorama a essayé il y a déja longtemps de mettre en place un tel truc pour garder une certaine tenue aux forums. Le seul pb c'est que l'etre humain aura toujours une longueur d'avance et les utilisateurs ont vite pigé le truc.On a vu fleurir des "tete de c*on" dans un premier temps ( l'étoile zappait la censure ) Bourso a intégrer c*on dans la censure alors ils ont écrit kon. Bouso a intégré kon alors ils ont écrit etc..etc..
Combat sans fin
PS je sais je suis kassekoouilles 
Dernière édition par Erazor le Ven Nov 19, 2004 14:22; édité 1 fois |
|
| |
|
 |
shrom WRInaute passionné

Inscrit le: 05 Juil 2004 Messages: 866
|
Posté le : Ven Nov 19, 2004 14:22 Sujet du message: chercher les injures |
|
|
Si tu es sous MySQL, tu peux essayer la recherche full text.
Les autres SGBD ont aussi ce type de fonction. |
|
| |
|
 |
caro WRInaute passionné

Inscrit le: 21 Juil 2003 Messages: 872
|
Posté le : Ven Nov 19, 2004 14:52 Sujet du message: chercher les injures |
|
|
REGEXP a l'air super, je connaissais pas,
merci pour tout les gars  |
|
| |
|
 |
herveG Modérateur

Inscrit le: 05 Mar 2003 Messages: 8376 Localisation: Allemagne
|
Posté le : Ven Nov 19, 2004 15:06 Sujet du message: chercher les injures |
|
|
c est ici qu on peut se défouler ? Bit, cul*, merd-e, tepu, etc. etc.
Je suis donc de l´avis d´Erazor une fois n´est pas coutume...!!  |
|
| |
|
 |
Oncle Tom WRInaute passionné

Inscrit le: 31 Mar 2003 Messages: 808 Localisation: Bordeaux, France
|
Posté le : Ven Nov 19, 2004 15:15 Sujet du message: chercher les injures |
|
|
| Erazor a écrit: |
Les informaticiens de génie ont avancé des solutions tech reste a donner le feedback de l'utilité d'un tel truc : il est voisin de néant.
Why ?
Boursorama a essayé il y a déja longtemps de mettre en place un tel truc pour garder une certaine tenue aux forums. Le seul pb c'est que l'etre humain aura toujours une longueur d'avance et les utilisateurs ont vite pigé le truc.On a vu fleurir des "tete de c*on" dans un premier temps ( l'étoile zappait la censure ) Bourso a intégrer c*on dans la censure alors ils ont écrit kon. Bouso a intégré kon alors ils ont écrit etc..etc..
Combat sans fin
PS je sais je suis kassekoouilles  |
Ca te dit qu'on t'envoie bouler quand tu poses tes questions sérieux ? Ca t'es pas venu à l'idée qu'on peut répondre pour répondre à la question sans avoir à chercher la bête ?
C'est lourd sérieux, si on peut pas poser une question sans craindre les remarques à la gomme de prétendus adultes ...
Ps : sinon de rien pour la réponse, teste et dis nous si ça te sert. |
|
| |
|
 |
atomikado WRInaute occasionnel

Inscrit le: 22 Sep 2003 Messages: 149 Localisation: Bretagne
|
Posté le : Ven Nov 19, 2004 15:26 Sujet du message: chercher les injures |
|
|
personnellement, je fais :
where="message like '% google %' or message like 'google %' or message like '% google"
le 1er LIKE pour une recherche à l'intérieur d'un message
le 2eme LIKE pour une recherche en début de message
et le 3eme pour une recherche en fin de message.
ms il reste toujours le pb des caractères collés du genre : google!!! |
|
| |
|
 |
jerome347 WRInaute passionné

Inscrit le: 19 Mar 2004 Messages: 576 Localisation: Val d'Oise
|
Posté le : Ven Nov 19, 2004 15:28 Sujet du message: chercher les injures |
|
|
| The Jedi a écrit: |
| Ca te dit qu'on t'envoie bouler quand tu poses tes questions sérieux ? Ca t'es pas venu à l'idée qu'on peut répondre pour répondre à la question sans avoir à chercher la bête ? |
Si il ne répond effectivement pas directement à la question, il a au moins le mérite de réagir sur le fond de la question et d'apporter un exemple concret. Ce n'est pas très grave ici (c'est juste une petite modif) mais si la question initiale méritait 15 jours de travail je suis sûr que le demandeur aurait apprécié une telle remarque qui lui aurait évité du boulot pour rien.
Bon, je suis complètement HS là, désolé. |
|
| |
|
 |
| |
|
|