Bienvenue sur le site des Expressions Régulières Icone page d'accueil - Les expressions régulières php Accueil   Icone articles sur les expressions régulières en php Articles d'Expreg - Billets de Fred   Icone nos regex - Les expressions régulières php Les regex d'Expreg Icone mail - Les expressions régulières php

Bon à savoir... retour d'expérience sur Expreg.com

astuces et les expressions régulières php une tasse de café avec les expressions régulières en php


Dans cette rubrique, en fonction de mon expérience personnelle, en fonction de mes recherches et découvertes ou celles d'autre regexeur aussi fou que moi, je vous donnerai au coup par coup quelques conseils, méthodes, trucs et astuces dans la pratique des expressions régulières.





#1) La gestion des caractères accentués !

La gestion correcte des caractères accentués dans nos expressions régulières sont directement lié au jeu de caractères installé sur le serveur. Ceux d'entre-vous qui possèdent un dédié et qui ont la main sur la config n'auront sans doute pas besoin de cette astuce.

Pour les autres, les mutualisés hébergés à l'étranger, la config serveur ne gèrera peut-être pas les accentués.

Si tel est le cas, pour que les accentués soient pris en compte dans la classe [[:alpha:]] ou \w, l'instruction suivante placée en tête de votre script devrait résoudre le problème :
<?php
setlocale
(LC_ALL,'fr-FR.ISO8859-1');
?>


#2) Les références arrières -> parenthèses capturantes

une tasse de café avec les expressions régulières en php Dans les regex, vous aurez déjà sans doute remarqué une notation comme ceci : \1 ou \\1
Il s'agit simplement d'une référence arrière identique à $1 ou $3 à la grosse différence près que $1 ou $3 ne peuvent être utilisées qu'en dehors du masque de la regex.
Si vous voulez faire appel à une référence arrière à l'intérieur de votre regex vous devez impérativement utiliser la notation \1.

En sachant cela, on peut se faire une petite règle facile à suivre et à retenir :

#3) Preg_replace_callback vs Preg_replace + option "e" !

Juste un petit rappel :
Dans une grande majorité de cas, une fonction de type callback sera toujours bien plus rapide que preg_replace() et son option e
Personnellement je déconseille vivement l'emploi de preg_replace() + e.
Une fonction de callback est une une fonction qui permet d'exécuter un code ou une fonction PHP au moment du remplacement.



Conseils, Méthodes, Trucs et Astuces... coming soon !

PHP5 avancé



Rédaction Yves Maistriaux :: 2006 Dernière mise à jour :: 2006


European Cards - Hosting-Ec Validation W3C European Cards - Hosting-Ec Validation W3C © 2003 - 2008 www.expreg.com - Toutes reproductions interdites sans l'autorisation écrite des auteurs
:::::::::: Design an Hosting by : European Cards Sprl ::::::::::