opérateur de comparaison - PHP - Programmation
Marsh Posté le 01-12-2005 à 22:51:47
thiebo12375 a écrit : Bonsoir,
|
Je ne sais pas si c'est la cause de ton prob, mais la ligne 7, je la trouve douteuse
Essaye comme ça:
Code :
|
Marsh Posté le 01-12-2005 à 22:54:07
...
Une fonction prend comme paramètres ce qui se trouve entre ses parenthèses, pas le contenu des 36000 suivantes. Et un opérateur logique sert à "calculer" le resultat de 2 booléens, pas à relier diverses choses.
Puis, vu ce que tu veux vérifier, c'est normalement faisable avec un seul masque, pas la peine de faire plusieurs preg_match (oui, c'est ça le problème, tu as "juste" oublier le preg_match entre le || et le ( ) pour ça.
Marsh Posté le 02-12-2005 à 07:40:51
naceroth a écrit : ... |
Merci pour vos réponses, mais aie aie aie, je ne suis pas sûr d'avoir pigé... La solution proposée par onizuka_sensei n'a pas marchée non plus. D'ailleurs, la fonction marche très bien sans le test de l'expression régulière :
maintenant la fonction est comme ceci :
Code :
|
j'imagine que je perds en efficacité sur les $string qui ne commencent par par un virgule et qui ne finissent pas par le mot 'de' mais... ça marche quand même. qu'en pensez-vous ? Mon if (preg_match ....) est-il nécessaire ?
Marsh Posté le 02-12-2005 à 10:27:39
Si tu avais voulu faire une seule pattern de test
Code :
|
Maintenant ta nouvelle fonction ne fait plus du tout la même chose, elle remplace carrement tes patterns par rien. Tu peux quand même le faire en une seule fois
Code :
|
edit: manquait un bout
Marsh Posté le 02-12-2005 à 10:46:24
pfiou !!! Merci beaucoup. J'ai beaucoup à appendre encore en matière d'expressions régulières....
A+
Marsh Posté le 01-12-2005 à 22:12:16
Bonsoir,
J'ai un petit souci avec l'opérateur || dans une fonction. Voici ce que je fais :
Je veux donc tester que $string ne commence pas par un virgule ni ne finit par le mot 'de'. Avant de faire les preg_replace, je teste le $string disant que si le string ne commence pas par un virgule ET ne finit pas par le mot 'de', qu'on retourne $string...
mais j'ai une erreur :
Parse error: parse error, unexpected ',' in /home/thiebo/public_html/messources1/actes/expr_reg.php on line 7
ligne 7 étant la ligne qui contient if (!preg_match($patun, $string)||($patdeux, $string)){
Quelqu'un voit où je fais fausse route, et comment réparer ??
Merci !