IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Détecter si la langue est le russe dans une chaîne de caractère


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Educateur spécialisé
    Inscrit en
    Janvier 2012
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Educateur spécialisé
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2012
    Messages : 219
    Points : 126
    Points
    126
    Par défaut Détecter si la langue est le russe dans une chaîne de caractère
    Bonjour à tous et à toutes,
    J'aurai besoin de votre aide pour savoir comment détecter si la langue dans une chaîne de caractère est en ruse (ru)
    Je vous explique : je reçois des centaines de message via le formulaire de contact de mon site en ruse et j'aimerais bloquer l’envoie si ils sont en ruse mais je ne trouve pas comment faire.
    J'ai veut pas une usine à gaz mais juste une petite fonction qui détecterait si c'est du ruse.
    Merci de votre aide.

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 333
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 333
    Points : 15 677
    Points
    15 677
    Par défaut
    ce que vous pouvez essayer est de tester si la chaine contient un caractère cyrillique avec "strpos" :
    https://www.php.net/manual/fr/function.strpos.php
    https://fr.wikipedia.org/wiki/Alphab...emporain_russe

  3. #3
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 888
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 888
    Points : 6 632
    Points
    6 632
    Par défaut
    Tu peux utiliser ceci pour savoir si une chaîne contient une lettre en cyrillique:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ( preg_match('~\p{Cyrillic}~u', $text) ) { /*oui*/ } else { /*non*/}
    .

    Ça ne garantit pas que c'est du russe, ça peut être du bulgare ou du serbe qui utilisent le même alphabet.

    Si tu veux être sûr que c'est du russe, il te faut un tout autre outil, beaucoup plus lourd du genre de celui là: https://github.com/patrickschur/language-detection

  4. #4
    Membre habitué
    Homme Profil pro
    Educateur spécialisé
    Inscrit en
    Janvier 2012
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Educateur spécialisé
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2012
    Messages : 219
    Points : 126
    Points
    126
    Par défaut
    Merci beaucoup,
    Vous m'avez sauvé.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/07/2014, 16h33
  2. Réponses: 4
    Dernier message: 06/07/2011, 09h35
  3. Réponses: 2
    Dernier message: 09/04/2009, 13h59
  4. Détecter saut de ligne dans une chaîne de caractères
    Par link256 dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 30/03/2009, 15h25
  5. Réponses: 4
    Dernier message: 23/06/2004, 09h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo