Si je remplace la contrainte [w] par [a-zA-Z -_] validstring retourne vrai
Problème que j'ai rencontré récemment: les caractères spéciaux, tels que w, proviennent des regexp en perl, il faut donc utiliser preg_* et non ereg.
-- Découvrez Original War: http://www.original-war.org Humour: http://www.chatfou.com Tchattez en liberté: http://www.c-p-f.net
Olivier Miakinen
function nocripts($string){return eregi("[^<>]");} et function validstring($string){return eregi("[w -]",$string) && noscripts($string);}
si j'applique ça à "gilbert_gilles-Joseph marc" , la fonction retourne faux. Pourquoi?
Attention, je ne suis pas sûr que les expressions rationnelles de type « ereg » comprennent le w. Ton expression risque de n'accepter que le trait d'union, l'espace et la lettre w (plus peut-être l'antislash).
Si je remplace la contrainte [w] par [a-zA-Z -_] validstring retourne vrai
Ah oui, mais là tu acceptes tout un tas d'autres caractères aussi, qui sont les suivants : « !"#$%&'()*+,./0123456789:;<=>?@[]^ » !
Si tu ne veux que les lettres et le blanc souligné en plus de l'espace et du tiret, tu dois mettre le tiret en début ou en fin de séquence : [a-zA-Z _-] ou [-a-zA-Z _].
Aussi sur une série de tests reliés par && , j'obtenais faux mais pas avec and.
-- Olivier Miakinen Non, monsieur le juge, je vous le jure : jamais je n'ai cité Bruxelles dans ma signature.
function nocripts($string){return eregi("[^<>]");}
et
function validstring($string){return eregi("[w -]",$string) &&
noscripts($string);}
si j'applique ça à "gilbert_gilles-Joseph marc" , la fonction retourne faux.
Pourquoi?
Attention, je ne suis pas sûr que les expressions rationnelles de type
« ereg » comprennent le w. Ton expression risque de n'accepter que le
trait d'union, l'espace et la lettre w (plus peut-être l'antislash).
Si je remplace la contrainte [w] par [a-zA-Z -_] validstring retourne vrai
Ah oui, mais là tu acceptes tout un tas d'autres caractères aussi, qui
sont les suivants : « !"#$%&'()*+,./0123456789:;<=>?@[]^ » !
Si tu ne veux que les lettres et le blanc souligné en plus de l'espace
et du tiret, tu dois mettre le tiret en début ou en fin de séquence :
[a-zA-Z _-] ou [-a-zA-Z _].
Aussi sur une série de tests reliés par && , j'obtenais faux mais pas avec
and.
function nocripts($string){return eregi("[^<>]");} et function validstring($string){return eregi("[w -]",$string) && noscripts($string);}
si j'applique ça à "gilbert_gilles-Joseph marc" , la fonction retourne faux. Pourquoi?
Attention, je ne suis pas sûr que les expressions rationnelles de type « ereg » comprennent le w. Ton expression risque de n'accepter que le trait d'union, l'espace et la lettre w (plus peut-être l'antislash).
Si je remplace la contrainte [w] par [a-zA-Z -_] validstring retourne vrai
Ah oui, mais là tu acceptes tout un tas d'autres caractères aussi, qui sont les suivants : « !"#$%&'()*+,./0123456789:;<=>?@[]^ » !
Si tu ne veux que les lettres et le blanc souligné en plus de l'espace et du tiret, tu dois mettre le tiret en début ou en fin de séquence : [a-zA-Z _-] ou [-a-zA-Z _].
Aussi sur une série de tests reliés par && , j'obtenais faux mais pas avec and.
-- Olivier Miakinen Non, monsieur le juge, je vous le jure : jamais je n'ai cité Bruxelles dans ma signature.
Jimmy H
Bonjour
Tu as parfaitement raison. Ce sera maintenant plus intéressant. Les regexp PERL sont plus puissantes que PHP.
Et pour $result=( F(0) && F(1) ....) ne marche pas $result=(F(0) and F(1) ....) ca marche, tu as une réponse ? toutes les F() retournent un résultat de comparaison logique (True | False)
Merci
"CrazyCat" a écrit dans le message de news: d0prnt$kgv$
Jimmy H wrote:
Si je remplace la contrainte [w] par [a-zA-Z -_] validstring retourne vrai
Problème que j'ai rencontré récemment: les caractères spéciaux, tels que w, proviennent des regexp en perl, il faut donc utiliser preg_* et non ereg.
-- Découvrez Original War: http://www.original-war.org Humour: http://www.chatfou.com Tchattez en liberté: http://www.c-p-f.net
Bonjour
Tu as parfaitement raison.
Ce sera maintenant plus intéressant. Les regexp PERL sont plus puissantes
que PHP.
Et pour $result=( F(0) && F(1) ....) ne marche pas
$result=(F(0) and F(1) ....) ca marche, tu as une réponse ?
toutes les F() retournent un résultat de comparaison logique (True | False)
Merci
"CrazyCat" <crazycat@nospam.org> a écrit dans le message de news:
d0prnt$kgv$2@s1.news.oleane.net...
Jimmy H wrote:
Si je remplace la contrainte [w] par [a-zA-Z -_] validstring retourne
vrai
Problème que j'ai rencontré récemment: les caractères spéciaux, tels que
w, proviennent des regexp en perl, il faut donc utiliser preg_* et non
ereg.
--
Découvrez Original War: http://www.original-war.org
Humour: http://www.chatfou.com
Tchattez en liberté: http://www.c-p-f.net
Tu as parfaitement raison. Ce sera maintenant plus intéressant. Les regexp PERL sont plus puissantes que PHP.
Et pour $result=( F(0) && F(1) ....) ne marche pas $result=(F(0) and F(1) ....) ca marche, tu as une réponse ? toutes les F() retournent un résultat de comparaison logique (True | False)
Merci
"CrazyCat" a écrit dans le message de news: d0prnt$kgv$
Jimmy H wrote:
Si je remplace la contrainte [w] par [a-zA-Z -_] validstring retourne vrai
Problème que j'ai rencontré récemment: les caractères spéciaux, tels que w, proviennent des regexp en perl, il faut donc utiliser preg_* et non ereg.
-- Découvrez Original War: http://www.original-war.org Humour: http://www.chatfou.com Tchattez en liberté: http://www.c-p-f.net
Jimmy H
Bonjour
Attention, je ne suis pas sûr que les expressions rationnelles de type « ereg » comprennent le w. Ton expression risque de n'accepter que le trait d'union, l'espace et la lettre w (plus peut-être l'antislash).
C'est ce que CrazyCat m'a souligné aussi. Je crois que c'est probablement dû à ce que j'utilise PHP sur WinXP. Je n'ai jamais eu ce genre de pb sur mon pingouin. Mais là il a les 2 pattes sur la bavette du poêle. En vacances qu'il me crache quand je veux le faire travailler. (système en panne)
Ah oui, mais là tu acceptes tout un tas d'autres caractères aussi, qui sont les suivants : « !"#$%&'()*+,./0123456789:;<=>?@[]^ » !
Oui je sais. Mes règles n'étaient que pour imager. C'est comme ma fonction noscript() qui est sencée refuser tout string contenant un "<>", c'est sencé être un filtre anti-injections !! ;-)) En tout cas je ne le conseille à personne !!!
JE connais la différence entre les opérateurs bitwise et les opérateurs logiques. && est un opérateur logique utilisé ici pour résumer une série de tests produisant des résultats logiques.
De toute façons ça fonctionne avec AND. J'imagine que ce doit être un autre caprice de Windows.
Merci
Bonjour
Attention, je ne suis pas sûr que les expressions rationnelles de type
« ereg » comprennent le w. Ton expression risque de n'accepter que le
trait d'union, l'espace et la lettre w (plus peut-être l'antislash).
C'est ce que CrazyCat m'a souligné aussi. Je crois que c'est probablement dû
à ce que j'utilise PHP sur WinXP. Je n'ai jamais eu ce genre de pb sur mon
pingouin. Mais là il a les 2 pattes sur la bavette du poêle. En vacances
qu'il me crache quand je veux le faire travailler. (système en panne)
Ah oui, mais là tu acceptes tout un tas d'autres caractères aussi, qui
sont les suivants : « !"#$%&'()*+,./0123456789:;<=>?@[]^ » !
Oui je sais. Mes règles n'étaient que pour imager. C'est comme ma fonction
noscript() qui est sencée refuser tout string contenant un "<>", c'est sencé
être un filtre anti-injections !! ;-)) En tout cas je ne le conseille à
personne !!!
JE connais la différence entre les opérateurs bitwise et les opérateurs
logiques. && est un opérateur logique utilisé ici pour résumer une série de
tests produisant des résultats logiques.
Attention, je ne suis pas sûr que les expressions rationnelles de type « ereg » comprennent le w. Ton expression risque de n'accepter que le trait d'union, l'espace et la lettre w (plus peut-être l'antislash).
C'est ce que CrazyCat m'a souligné aussi. Je crois que c'est probablement dû à ce que j'utilise PHP sur WinXP. Je n'ai jamais eu ce genre de pb sur mon pingouin. Mais là il a les 2 pattes sur la bavette du poêle. En vacances qu'il me crache quand je veux le faire travailler. (système en panne)
Ah oui, mais là tu acceptes tout un tas d'autres caractères aussi, qui sont les suivants : « !"#$%&'()*+,./0123456789:;<=>?@[]^ » !
Oui je sais. Mes règles n'étaient que pour imager. C'est comme ma fonction noscript() qui est sencée refuser tout string contenant un "<>", c'est sencé être un filtre anti-injections !! ;-)) En tout cas je ne le conseille à personne !!!
JE connais la différence entre les opérateurs bitwise et les opérateurs logiques. && est un opérateur logique utilisé ici pour résumer une série de tests produisant des résultats logiques.
JE connais la différence entre les opérateurs bitwise et les opérateurs logiques.
Oui, moi aussi. Je ne parlais absolument pas des opérateurs bitwise, « & » et « | », mais de la différence de priorité entre les opérateurs logiques « && » et « || » d'une part, et les opérateurs logiques « and » et « or » d'autre part.
Il semblerait par exemple que : $result = F(0) && F(1) donne un résultat différent de : $result = F(0) and F(1)
$result = (F(0) && F(1))
Évidemment, si tu n'oublies jamais aucune paire de parenthèses, les différences de priorités n'ont plus aucune influence sur le résultat.
De toute façons ça fonctionne avec AND. J'imagine que ce doit être un autre caprice de Windows.
Si tu trouves vraiment un bug sur Windows, ce serait sympa de le signaler pour faire mettre la doc à jour.
JE connais la différence entre les opérateurs bitwise et les opérateurs
logiques.
Oui, moi aussi. Je ne parlais absolument pas des opérateurs bitwise,
« & » et « | », mais de la différence de priorité entre les opérateurs
logiques « && » et « || » d'une part, et les opérateurs logiques « and »
et « or » d'autre part.
Il semblerait par exemple que :
$result = F(0) && F(1)
donne un résultat différent de :
$result = F(0) and F(1)
$result = (F(0) && F(1))
Évidemment, si tu n'oublies jamais aucune paire de parenthèses, les
différences de priorités n'ont plus aucune influence sur le résultat.
De toute façons ça fonctionne avec AND. J'imagine que ce doit être un autre
caprice de Windows.
Si tu trouves vraiment un bug sur Windows, ce serait sympa de le
signaler pour faire mettre la doc à jour.
JE connais la différence entre les opérateurs bitwise et les opérateurs logiques.
Oui, moi aussi. Je ne parlais absolument pas des opérateurs bitwise, « & » et « | », mais de la différence de priorité entre les opérateurs logiques « && » et « || » d'une part, et les opérateurs logiques « and » et « or » d'autre part.
Il semblerait par exemple que : $result = F(0) && F(1) donne un résultat différent de : $result = F(0) and F(1)
$result = (F(0) && F(1))
Évidemment, si tu n'oublies jamais aucune paire de parenthèses, les différences de priorités n'ont plus aucune influence sur le résultat.
De toute façons ça fonctionne avec AND. J'imagine que ce doit être un autre caprice de Windows.
Si tu trouves vraiment un bug sur Windows, ce serait sympa de le signaler pour faire mettre la doc à jour.
Jimmy H
Bonjour
$result = (F(0) && F(1))
De toute façons ça fonctionne avec AND. J'imagine que ce doit être un autre
caprice de Windows.
Si tu trouves vraiment un bug sur Windows, ce serait sympa de le signaler pour faire mettre la doc à jour.
Tu connais la dernière ?
J'ai remis tous les && à la place des AND et devines ... tout marche. C'est à n'y rien comprendre. Je ne sais trop quoi en penser.
Auparavant je travaillais sur WinME avec PHP4. C'était commode pour un tas de raisons et je convertissais en *nix pour l'envoi sur le pingouin. Problèmes avec une copie de sécurité, bon je décide d'installer XP pro au lieu de ME.
Depuis je ne cesse d'avoir des problèmes bizarres du genre de celui-ci. J'ai l'impression que XP est buggé ou que PHP5 a des problèmes.
Bonjour
$result = (F(0) && F(1))
De toute façons ça fonctionne avec AND. J'imagine que ce doit être un
autre
caprice de Windows.
Si tu trouves vraiment un bug sur Windows, ce serait sympa de le
signaler pour faire mettre la doc à jour.
Tu connais la dernière ?
J'ai remis tous les && à la place des AND et devines ... tout marche. C'est
à n'y rien comprendre.
Je ne sais trop quoi en penser.
Auparavant je travaillais sur WinME avec PHP4. C'était commode pour un tas
de raisons et je convertissais en *nix pour l'envoi sur le pingouin.
Problèmes avec une copie de sécurité, bon je décide d'installer XP pro au
lieu de ME.
Depuis je ne cesse d'avoir des problèmes bizarres du genre de celui-ci. J'ai
l'impression que XP est buggé ou que PHP5 a des problèmes.
De toute façons ça fonctionne avec AND. J'imagine que ce doit être un autre
caprice de Windows.
Si tu trouves vraiment un bug sur Windows, ce serait sympa de le signaler pour faire mettre la doc à jour.
Tu connais la dernière ?
J'ai remis tous les && à la place des AND et devines ... tout marche. C'est à n'y rien comprendre. Je ne sais trop quoi en penser.
Auparavant je travaillais sur WinME avec PHP4. C'était commode pour un tas de raisons et je convertissais en *nix pour l'envoi sur le pingouin. Problèmes avec une copie de sécurité, bon je décide d'installer XP pro au lieu de ME.
Depuis je ne cesse d'avoir des problèmes bizarres du genre de celui-ci. J'ai l'impression que XP est buggé ou que PHP5 a des problèmes.