Général
- Présentation
- Les Symboles
- Les Métacaractères
- Les Ancres et Classes
- Les options
- Constantes prédéfinies
- Equivalences
- Créer un motif
- Les POSIX
- Les PCRE
- Les Plus des PCRE
- Les Assertions Part I
- Les Assertions Part II
- Motif conditionnel
- Mysql et les regex
- Url Rewriting
- Optimisation
- Aide mémoire
Les PCRE
Les POSIX
Pratique
Spécial php
- Conseils et Astuces
- Délimiteur PCRE
- Créer une bdd
- Utiliser du BBcode
- Le binaire
- Faire un panier
- Cases à cocher
- Citations imbriquées
- Colorateur syntaxique
- Les list-box ou combo-box
- Faire un diaporama
- Isset ou empty ?
- Une légende au survol
- Site en plusieurs langues
- Requêtes dynamiques
- Gestion des smiley
- Faire un moteur de template
- Timestamp php/mysql
- Timestamp mysql
- Matcher une adresse email
- Controler des données
Les billets de fred
- Les POSIX... mise en pratique !
- Limiter l'accès à un répertoire
- Alternance de couleurs
- Magic_quotes
- Désactiver les short_tags
- Require ou include : Bench
- Cohérence dans les chaines de caractères
- "echo" : lapin ou tortue ?
- Gérer un formulaire avec plusieurs boutons
- Le formulaire a t'il été soumis ?
- J'ai décidé de grossir
- La guerre des étoiles
- La guerre des boutons
- Headers already sent
- IP, IP, IP, houra !
- Créer un itérateur avec PHP5
- On vous conduit vers la lumière
- Comment utiliser MySQL avec PHP
- Non aux booléens !
- Php.ini : dist /recommended
- Include : gouffre ou fêlure ?
- Simple comme les sessions !
- Simplifier le traitement des erreurs
- Structurez vos applications
- Franchement, t'es trop for !
- Notice: Undefined variable (ou index)
- Proscrire les variables auto déclarées
Permet de vérifier la validité des adresses email entrées par les utilisateurs. Accepte les caractères point (.), le tiret (-) et l'underscore (_) sauf : - en débutant. - ils ne peuvent se suivre. - l'underscore n'est pas accepté dans les noms de domaines Utilise les fonctions ereg et les classes prédéfinies POSIX et preg_match avec les classes PCRE. Vous pouvez modifier la dernière valeur de l'intervalle de reconnaissance {2,4} pour le nom de domaine ayant plus de 4 caractères, comme museum par exemple ce qui donnera : {2,6} J'ai volontairement écarté de cette analyse les adresses email farfelues telles que celles que l'on peut trouver chez caramail et compagnie. Exemple : mon-_.email.-_amoi@caramail.com ou monemail______@hotmail.com Si vous souhaitez quand même accepter ce genre d'email, rien ne vous empêche d'apporter une modification à la regex, voir même en utiliser une autre plus permisive. Je vous conseille vivement l'emploi de la regex avec preg_match qui est bien plus rapide que ereg.
$chaine="info@e-ur-ope.a.n-cards.com";
//--- bon j'avoue que l'email est assez particulière mais
elle m'a permis de réaliser un masque qui est valable pour
toutes les email.
//--- avec ereg et les classes POSIX
if(!ereg("^[[:alnum:]]([-_.]?[[:alnum:]])*@[[:alnum:]]([-.]?[[:alnum:]])*\.([a-z]{2,4})$",$chaine))
{
echo "pas bon";
}
else
{
echo "bon";
}
//--- la même avec preg_match et les classes PCRE
if(!preg_match('`^[[:alnum:]]([-_.]?[[:alnum:]])*@[[:alnum:]]([-.]?[[:alnum:]])*\.([a-z]{2,4})$`',$chaine))
{
echo "pas bon";
}
else
{
echo "bon";
}
?>
Regex permettant de rendre des adresses emails cliquables dans une chaine texte.
//--- un texte au hasard ---//
$text='on adresse email est info@europeancards.com et celle de mon pote est truc@unsite.xxx... voili, voilou !'
//--- La regex ---//
$text=eregi_replace('[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z]+)+)''<a href="mailto:$1">$1</a>',$text);
echo $text;
//--- Sous forme de fonction ---//
function clickmail($text)
{
$text=eregi_replace('([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z]+)+)','<a href="mailto:$1'>$1</a>',$text);
}
echo @clickmail($text);
?>
Une simple portion pour envoyer un mail au format HTML. Très simple, ce morceau de code est basique et ne demande qu'à être amélioré. Dans la partie HTML du message, on peut très bien faire passer des variables. Il suffit simplement d'utiliser la concaténation.
//--- les variables ---//
$to = 'email@site.ext';
$sujet = 'ce que tu veux';
//--- la structure du mail ----//
$from = "From:email@site.xxx\n";
$from .= "MIME-version: 1.0\n";
$from .= "Content-type: text/html; charset= iso-8859-1\n";
//--- un exemple de message avec corps en html ---//
$message='<table width="500"><tr><td>.... du blabla....</td></tr></table>';
//--- on envoie l'email ---//
mail($to,$sujet,$message,$from);
?>
