Expressions Régulières 1. Que sont les Expressions Régulières ?
Les expressions régulières sont une des meilleurs inventions au niveau recherche et manipulation des chaînes de caractères. Le principe n'est pas forcément très simple, mais il a l'intérêt de pouvoir fonctionner avec de très nombreux langages et systèmes. En effet, on peut l'utiliser sous Unix (find, grep, vi...), en PHP, en Perl... Nous allons donc déjà donner quelques exemples puis les expliquer. On terminera avec un récapitulatif des caractères spéciaux. 2. Quelques exemples
2. 1. Vérifier que la variable ressemble à une adresse mail
On ne peut pas en effet dire si une variable contient une vraie adresse e-mail, mais on peut dire si elle y ressemble, c'est à dire qu'elle a un "@", et un "." (après le domaine). La vérification n'est donc pas parfaite puisqu'une fausse adresse mail (une adresse qui n'existe pas) sera considérée comme vraie si elle a une syntaxe correcte. <?php $mail = "nospam@mail.com"; if (ereg("^.+@.+\\..+$",$mail)) { Echo "$mail est une adresse mail\n"; } else { Echo "$mail n'est pas une adresse mail\n"; } $mail = "ceci_nest_pas_une@adresse_mail"; if (ereg("^.+@.+\\..+$",$mail)) { Echo "$mail est une adresse mail\n"; } else { Echo "$mail n'est pas une adresse mail\n"; } ?> ce qui donne comme résultat : nospam@mail.com est une adresse mail ceci_nest_pas_une@adresse_mail n'est pas une adresse mail 2. 2. Suppression des espaces superflus
On peut avoir besoin de supprimer les espaces inutiles dans une variable pour la mettre par exemple dans une base de données. Le code pour cette manipulation est : $val = ereg_replace(" {2,}"," ",$val);
2. 3. Enlever les balises HTML
Il existe la fonction "stip_tags" en PHP qui permet de supprimer les tags HTML et PHP, mais juste de les supprimer, si vous souhaitez les remplacer, vous pouvez faire : Enlève toutes les balises HTML et PHP d'une page et les remplace par un espace : $fich = ereg_replace('<([^>]|\n)*>',' ',$fich);
Remplace tous les caractères de ponctuation par un espace :$fich = eregi_replace("[[:punct:]]"," ",$fich);
3. Les caractères spéciaux
Attention, ces caractères spéciaux sont liés au PHP et ne sont pas forcément applicable partout.
|