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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Sensibilité à la casse


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2002
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 25
    Par défaut Sensibilité à la casse
    Bonjour,

    Je suis débutant en PHP et je dois créer moteur de recherche sur un intranet. Dans mon script, j'ouvre un fichier, je recupere une ligne et je calcule le nombre d'occurrences d'un mot dans cette ligne.

    Voici un bout du script:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    while(!feof($fp)) {
    
        // On récupère une ligne		
        $Ligne = fgets($fp,255);
    						
        //Nbre d'occurences d'une ss-chaine donnee a rechercher	
        $nbre += substr_count($Ligne,"$recherche");
    
    }
    Mon probleme est que je voudrais effectuer une recherche insensible la casse.
    J'ai essayé eregi mais il s'est posé le probleme du nombre d'occurrences à recuperer.
    Comment procéder?

    Merci.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 12
    Par défaut
    Salut,

    Je pense que si tu passais par une variable pour faire le test ca irait...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    while(!feof($fp)) {
     
        // On récupère une ligne		
        $Ligne = fgets($fp,255);
     
        // On formate les chaines en minuscule
        $LigneMinus = strtolower($Ligne);
        $RechercheNinus = strtolower($recherche);
     
        //Nbre d'occurences d'une ss-chaine donnee a rechercher	
        $nbre += substr_count($LigneMinus ,$RechercheNinus);
     
    }
    Voila, je prétend pas que se soit la solution la meilleure et la plus belle... Mais ca dois fonctionner très bien quand même...

    En espérant t'avoir aidé!

    Bonne chance pour la suite

  3. #3
    Membre averti
    Inscrit en
    Juin 2002
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 25
    Par défaut
    En effet ça marche très bien.
    J'attendrai quand meme de voir si on peut optimiser ta solution avant de mettre RESOLU

    Merci pour ton aide .

  4. #4
    Invité
    Invité(e)
    Par défaut
    Je ne vois pas d'autre solution, la fonction substr_count() est sensible à la casse et ne peut être modifiée. Par contre tu peux créer ta propre fonction inspirée de Stass et l'appeler autant de fois que nécessaire.

    webrider

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 26/07/2007, 11h33
  2. Sensibilité à la casse - commande LIKE
    Par loris dans le forum Requêtes
    Réponses: 6
    Dernier message: 17/02/2007, 22h05
  3. Sensibilité à la casse
    Par pier* dans le forum Oracle
    Réponses: 4
    Dernier message: 04/04/2006, 10h15
  4. Tri par ordre alpha, sensibilité à la casse
    Par linou dans le forum Oracle
    Réponses: 2
    Dernier message: 30/09/2005, 14h45
  5. MSSQL et sensibilité à la casse
    Par mortalzoom dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 11/07/2005, 14h31

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