Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/12/2011, 16h29   #1
Invité régulier
 
Inscription : juin 2009
Messages : 21
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 21
Points : 6
Points : 6
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.
Citation:
([\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
shonan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 16h47   #2
Membre confirmé
 
Avatar de Pymento
 
Homme
Ingé. Info.
Inscription : janvier 2008
Messages : 339
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingé. Info.

Informations forums :
Inscription : janvier 2008
Messages : 339
Points : 273
Points : 273
-> 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
Pymento est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h10.


 
 
 
 
Partenaires

Hébergement Web