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.
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).([\sa-zA-Z0-9\\\/\#\^\$\(\)\[\]\{\}\?\+\*><\-\!~&%=|;,ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ._-]*):[\sa-zA-Z0-9\\\/\#\^\$\(\)\[\]\{\}\?\+\*><\-\!~&%=|;,ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ:._-]*
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
Partager