Expression Reguliere ... Où est le problème ? - PHP - Programmation
Marsh Posté le 26-06-2003 à 21:08:16
Bon ben je viens de résoudre le pb en faisant ça :
Citation : $texte = "salut bonjour coucou"; |
Marsh Posté le 26-06-2003 à 21:32:40
C'est fini l'utilisation des expressions régulières pour des trucs qui n'en valent pas la peine ?
Quand je vois la mode du jackyisme de la vitesse et la quantité d'utilisations inutiles de RE, je comprends pas !
Marsh Posté le 30-06-2003 à 10:09:28
Excuses moi de te dire ça mais je te trouve très con ... tu te prends pour qui pour dire ça ?
Si j'ai utilisé ça c'est parceque j'en ai besoin ... et c'est loin d'être pour m'amuser ...
Maintenant si tu avais une solution plus simple que celle là, il suffisait de me la donner plutot que d'ouvrir ta gueule pour ce genre de commentaire ...
Excuses moi aussi de ne pas avoir un Qi aussi elevé que le tiens ... mais d'ailleurs, ça existe qqn de plus intelligent que toi en ce bas monde ?
Marsh Posté le 30-06-2003 à 14:21:55
Dj YeLL a écrit : Excuses moi de te dire ça mais je te trouve très con ... tu te prends pour qui pour dire ça ? |
+1
Marsh Posté le 30-06-2003 à 17:37:53
Dj YeLL a écrit : |
Et pourtant, l'étude ta grammaire montre que c'est un char d'assaut pour tuer une mouche.
Mais je vais pas te faire un cours sur la classification des grammaires, t'as l'air assez convaincu que tu as _besoin_ des expressions rationelles.
Donc reste avec tes automates à pile pour la recherche d'un seul caractère.
Marsh Posté le 30-06-2003 à 17:42:58
nraynaud à raison sur le fond, mais il aurait pu donner la solution complète du premier coup. A savoir, remplacer simplement tous les espaces par % % et rajouter % en début et fin de chaine.
Maintenant, pour ce qui est de ton usage des regexp, quand on programme proprement, on utilise $n pour les expressions entre parenthèse...
Marsh Posté le 30-06-2003 à 17:46:37
on a pas dis qu'il avait pas raison... mais faut arrêter avec ce ton de mec qui sait tout et qui a tout vu..
un simple : Je pense que ce n'est pas la meilleur solution aurait suffi...
Marsh Posté le 30-06-2003 à 21:33:42
THEniluje a écrit : Et quand ya 2 ou + espaces consécutifs ? |
ça donne le même résultat que ça :
Citation : $texte = ereg_replace(" ","% %",$texte); |
Et il en a pas parlé dans sa grammaire que je sache.
Marsh Posté le 01-07-2003 à 10:07:30
Tu m'excuseras mais je suis relativement débutant en programmation ...
Je pense que tu ne sais pas piloter un avion de chasse ... c'est pas pour ça qu'un vrai pilote devra te prendre de haut parceque lui il sait ...
Un forum c'est une communauté ... mais il me semble que tu ne connais pas la définition de ce mot ...
De plus, malgré tes sages paroles très délicate, je ne vois tjs pas LA solution ... celle qui est si évidente que même un néophite devrait connaître ...
C'est quand même pas de bol hein ... j'ai pas la science infuse ... zut !
Marsh Posté le 01-07-2003 à 15:46:52
Dj YeLL a écrit : j'ai pas la science infuse ... zut ! |
Hélas personne, par contre il y a ceux qui lisent et ceux qui se plaignent de ne pas l'avoir.
gizmo t'as donné une solution beaucoup plus légère, mais je crois que tu ne l'a pas lue. Si tu veux traiter plusieurs espace, tu prends une variable booléenne qui va te servir à comme changement d'état de l'automate, soit en cour de traitement d'espaces soit en cours de traitement d'autre chose.
Si t'as d'autres spécifications dont tu n'as pas parlé et qui complexifierait encore, utilises effectivement _UNE SEULE_ expression régulière (et pas 2 ou 15) dans la mesure du possible.
Marsh Posté le 26-06-2003 à 20:18:59
Je voudrais une expression régulière qui encadre tous les mots d'une variable (séparés par un espace) avec les memes balise ...
Par exemple, j'aimerais remplacer ça :
salut bonjour coucou
Par ça :
%salut% %bonjour% %coucou%
J'ai dejà fais ça pour le moment :
$texte = "salut bonjour coucou";
$texte = ereg_replace("[[:alnum:]]*","%\\0%",$texte);
echo $texte;
Mais ça ne marche pas, le problème est qu'il m'affiche ça :
%salut%%\0% %bonjour%%\0% %coucou%%\0%
Qu'est-ce qui est faux dans mon expression ?
Merci
---------------
Gamertag: CoteBlack YeLL