Expressions régulières ?
Les Expressions régulières (regex ou encore regexp) sont un moyen de manipuler le contenu d’une chaîne de caractères.
Construction d’une expression régulière :
Voici un tableau recensant les différents caractères utilisés
| ^ | début de la chaîne |
| $ | fin de la chaîne |
| . | n’importe quel caractère |
| ? | un ou aucun |
| + | un ou plusieurs |
| * | zéro ou plusieurs |
| | | ou |
| - | intervalle |
| () | séquence de caractères |
| [] | liste de caractères |
| {min, max} | Limite de nombre |
| \d | un chiffre |
| \D | pas de chiffre |
| \w | les caractères |
| \W | pas de caractère |
| \s | un espace |
Quelques exemples concrets :
Pour vérifier qu’une chaîne est présente dans une chaîne :
[php]
$sString = ‘hello world’;
if( preg_match( ‘/hello/’, $sString ) )
echo ‘Trouvé’;
else
echo ‘Non trouvé’;
[/php]
Vous voulez jouer ?
Comment remplacer la chaine (ou plutot date
) AAAA-MM-JJ en JJ/MM/AAAA avec ereg_replace() ? (il y à d’autres méthodes mais c’est pour l’exemple
)
[php]
$sDate= ’2009-10-13′;
echo ereg_replace(‘^([0-9]{2,4})-([0-9]{1,2})-([0-9]{1,2})$’, ‘\3/\2/\1′, $sDate);
[/php]
Ici, nous jouons donc avec des parenthèses capturantes.
Les fonctions PHP qui utilisent les expressions régulières sont nombreuses et permettent beaucoup de chose :
En voici quelques unes :
A vous de trouver laquelle correspond à votre besoin
Pour vous aidez voici un document « Help sheet » bien pratique :

- en version PNG :
http://www.addedbytes.com/download/regular-expressions-cheat-sheet-v1/png/ - en version PDF :
http://www.addedbytes.com/download/regular-expressions-cheat-sheet-v1/pdf/
Les fonctions basées sur POSIX (ereg, eregi et consort) sont dépréciées depuis PHP 5.3.
Les fonctions preg_x (PCRE) sont conseillées à leur place, depuis PHP 4, car plus rapide.
Exact. Merci de ta précision Etienne14
A propos de ereg, je rajoute même ceci tiré de la doc. de PHP :
Source : http://php.net/manual/en/function.ereg.php
[...] : La manipulation des chaines de caractères avec les Expressions régulières Les Expressions régulières en PHP Tweetez-le !Partagez-le sur FacebookPartagez-le sur del.icio.usTomber sur un bon truc ? Partagez [...]
En principe, on devrait dire, en français expressions rationnelles.