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 :

Comparaison de chaînes dans un fichier


Sujet :

Langage PHP

  1. #1
    Membre à l'essai Avatar de DeadlyLullaby
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 19
    Points : 17
    Points
    17
    Par défaut Comparaison de chaînes dans un fichier
    Bonjour,

    J'ai réalisé un premier script qui permet de stocker une chaîne de caractères dans un fichier. J'ai ensuite un second script qui parcourt ce fichier à la recherche de la chaîne qu'un utilisateur a tapé, cependant impossible de passer la condition if(chaine1 == chaine2) lorsque je parcours le fichier même si elles sont formatées de la même manière (avec utf8_encode, avec ou sans les apostrophes séparant les chaines dans le fichier).

    Je ne vois donc pas ce qui pose problème

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $lignes = file('fonctions/b'); //lit le fichier de la clé
    $key = "'".$key."' "; //mot saisi par l'utilisateur
    foreach ($lignes as $lineNumber => $lineContent) //parcourt la liste des chaines
    	{
    		//$lineContent = str_replace("'", "", $lineContent);
    		$lineContent = utf8_encode($lineContent);
    	}
    if($lineContent == $key){ //si la chaine correspond à celle tapée
            }
    Merci d'avance pour votre aide

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    La condition doit se trouver dans la boucle foreach :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $lignes = file('fonctions/b'); //lit le fichier de la clé
    $key = "'".$key."' "; //mot saisi par l'utilisateur
    foreach ($lignes as $lineNumber => $lineContent) //parcourt la liste des chaines
    {
    	//$lineContent = str_replace("'", "", $lineContent);
    	$lineContent = utf8_encode($lineContent);
     
    	if($lineContent == $key){ //si la chaine correspond à celle tapée
    	}
    }
    Mais pour que la condition soit vrai, la variable key doit contenir forcement une ligne entière du fichier car la variable lineContent a pour valeur une ligne du fichier à chaque itération.
    Mais je ne sais pas si cette solution est adaptée à vos besoins.
    Je pense que le mieux est de faire un truc dans le genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $contenuFichier = file_get_contents('fonctions/b');
     
    if (strpos($contenuFichier, $key)) {
    }
    N'hésitez pas à utiliser les echo, var_dump... pour trouver la source d'un problème.
    Dernière modification par Invité ; 02/08/2014 à 11h21.

  3. #3
    Membre à l'essai Avatar de DeadlyLullaby
    Profil pro
    Inscrit en
    Décembre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 19
    Points : 17
    Points
    17
    Par défaut
    Toujours pas trouvé de solution malgré tous mes tests.

    Peut être est-ce dû au fait que les chaînes de caractères contiennent des caractères spéciaux ?

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

Discussions similaires

  1. [RegEx] Recherche et Remplacement d'une chaîne dans un fichier
    Par jpascal dans le forum Langage
    Réponses: 5
    Dernier message: 18/02/2007, 19h35
  2. [FAQ] compter les occurences d'une chaîne dans un fichier
    Par cafeine dans le forum Contribuez
    Réponses: 3
    Dernier message: 25/07/2006, 11h21
  3. Recuperation d'une chaîne dans un fichier
    Par black is beautiful dans le forum Windows
    Réponses: 3
    Dernier message: 20/03/2006, 18h57
  4. Réponses: 4
    Dernier message: 16/12/2005, 17h43
  5. [D6] Comment remplacer des chaînes dans un fichier ?
    Par fabien25 dans le forum Langage
    Réponses: 4
    Dernier message: 15/06/2005, 13h37

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