Pb avec une expression régulière sous PHP
JérômeZ
-
nEm3sis Messages postés 710 Date d'inscription Statut Membre Dernière intervention -
nEm3sis Messages postés 710 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
ce post s'adresse à des pros des expressions régulières sous PHP.
J'utilise pour un site associatif un framework (CodeIgniter) qui filtre les chaines de caractères en entrée.
Problème :
$str = "Jérôme";
// La ligne suivante (1) renvoie NULL
$str = preg_replace('#(&\#*\w+)[\x00-\x20]+;#u','\\1;',$str);
// alors que celle-ci (2) renvoie "Jérôme"
$str = preg_replace('#(&\#*\w+)[\x00-\x20]+;#U','\\1;',$str);
La ligne 1 fonctionnait avec le précédent serveur (Apache 2.0.58, PHP 5.1.4, le tout sous Debian Sarge) mais ne fonctionne plus sur le serveur actuel (Apache 2.2.3, PHP 5.2.0 sous Debian Etch)
Etant beaucoup, beaucoup plus à l'aise avec Visual Studio, je sèche un peu sur l'explication et l'interprétation de ces lignes de code tout en m'estimant déjà assez content d'avoir pu trouver le bug.
Reste à comprendre la différence en raison des implications potentielles de cette modification (liée à XSS Prevention)
Et là, c'est à vous de jouer !! :-)
Merci d'avance
@ tchaw
Jérôme
ce post s'adresse à des pros des expressions régulières sous PHP.
J'utilise pour un site associatif un framework (CodeIgniter) qui filtre les chaines de caractères en entrée.
Problème :
$str = "Jérôme";
// La ligne suivante (1) renvoie NULL
$str = preg_replace('#(&\#*\w+)[\x00-\x20]+;#u','\\1;',$str);
// alors que celle-ci (2) renvoie "Jérôme"
$str = preg_replace('#(&\#*\w+)[\x00-\x20]+;#U','\\1;',$str);
La ligne 1 fonctionnait avec le précédent serveur (Apache 2.0.58, PHP 5.1.4, le tout sous Debian Sarge) mais ne fonctionne plus sur le serveur actuel (Apache 2.2.3, PHP 5.2.0 sous Debian Etch)
Etant beaucoup, beaucoup plus à l'aise avec Visual Studio, je sèche un peu sur l'explication et l'interprétation de ces lignes de code tout en m'estimant déjà assez content d'avoir pu trouver le bug.
Reste à comprendre la différence en raison des implications potentielles de cette modification (liée à XSS Prevention)
Et là, c'est à vous de jouer !! :-)
Merci d'avance
@ tchaw
Jérôme
A voir également:
- Pb avec une expression régulière sous PHP
- Easy php - Télécharger - Divers Web & Internet
- Expression écrite cm1 cm2 télécharger gratuit - Télécharger - Éducatifs
- Microsoft expression encoder - Télécharger - Divers Utilitaires
- Expert php pinterest - Télécharger - Langages
- Php alert ✓ - Forum PHP