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 :

Trier une conversation dans un array [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 30
    Points : 21
    Points
    21
    Par défaut Trier une conversation dans un array
    bonjour,

    J'ai récupéré un champ text dans ma bdd et je l'explode pour chaque retour à la ligne (/n).

    (
    [0] => papa : salut
    [1] => fiston : salut
    [2] => fiston : c'est qui ?
    [3] => papa : ton père :-)
    )

    L'objectif c'est de trier les messages entre le papa et le fiston pour les afficher avec des couleurs différentes.

    J'ai donc fait un regex pour récupérer les infos avant le premier ":" pour chaque champ.
    ([\sa-zA-Z0-9\\\/\#\^\$\(\)\[\]\{\}\?\+\*><\-\!~&%=|;,ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ._-]*):[\sa-zA-Z0-9\\\/\#\^\$\(\)\[\]\{\}\?\+\*><\-\!~&%=|;,ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ:._-]*
    J'ai essayé de mettre tous les caractères possible au cas ou un utilisateur renseigne une conversation avec des caractères spéciaux. (on sait jamais).

    Puis je récupère papa dans une variable et pour les lignes suivante, si la variable est différente de papa je met le texte dans une autre couleur.

    Mon problème :
    Si l'utilisateur oublie de renseigner les papa et fiston j'aimerai changer de couleur 1 ligne sur 2.

    (
    [0] => salut Bleu
    [1] => salut Vert
    [2] => c'est qui ? Bleu
    [3] => ton père :-) Vert
    )

    En plus avec ma regex la ligne "ton père :-)" va être bouffé (restera "-)").


    et j'aimerai garder la même couleur si un utilisateur écrit Papã au lieu de papa.
    En gros laisser une tolérance dans la saisie des caractères.

    (
    [0] => papa : salut Bleu
    [1] => fiston : salut Vert
    [2] => fiston : c'est qui ? Vert
    [3] => Papã : ton père :-) Bleu
    )

    Si vous avez une idée ou des conseils de conception pour parvenir à mes fins ça serait cool ! merci d'avance

  2. #2
    Membre averti Avatar de Pymento
    Homme Profil pro
    Ingé. Info.
    Inscrit en
    Janvier 2008
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingé. Info.

    Informations forums :
    Inscription : Janvier 2008
    Messages : 366
    Points : 329
    Points
    329
    Par défaut
    -> interdire a l'utilisateur d'oublier de renségner son login !
    sinon 1 ligne sur 2 si un utilisateur parle 2 fois ça va tout décaler.
    Si tu n'as pas la main sur tes données en input, et qu'ils "oublient" le login, et que tu veux quand même inverser les couleurs
    un petit for avec un i qui incrémente de 2 en deux et le tour est joué.


    pour ta regExp, tu lui applique un "*" donc normal qu'il te bouffe les smiley, tu dois lui indiquer "{1}" enfin je sais plus exactement mais en gros qu'il prenne le premier uniquement.
    Memento Quia Pulvis Es, Et In Pulverem ReverteriS

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

Discussions similaires

  1. [MySQL] récupérer une info dans un array
    Par ProgVal dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 10/07/2008, 10h03
  2. insérer une valeur dans un array
    Par Sh4dow49 dans le forum Langage
    Réponses: 5
    Dernier message: 05/06/2008, 17h32
  3. Mettre une constante dans un array
    Par Shredder dans le forum Langage
    Réponses: 5
    Dernier message: 24/04/2008, 19h13
  4. Comment trier une liste dans un DBLoukupComboBox
    Par soror dans le forum Bases de données
    Réponses: 6
    Dernier message: 17/07/2007, 20h13
  5. Réponses: 5
    Dernier message: 18/11/2005, 22h11

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