Voila quelques expressions régulières chopées à droite et à gauche sur le web vous permettant de tester des chaines pour les formats : ip, url, mail et couleur(code héxadécimal).
Si avec ça vous ne pouvez pas vous constituer une petite boite à outil de gestion de chaine je ne m’appelle plus Gaston ! (A bien y réfléchir, je ne m’appelle pas gaston).
Définis si la chaine passée en parametre est une url ou non :
function isUrl($url){ $return =false; if (preg_match('/^(http|https|ftp)://([A-Z0-9][A-Z0-9_-]*(?:.[A-Z0-9][A-Z0-9_-]*)+):?(d+)?/?/i', $url)) { $return =true; } return $return; }
Définis si la chaine passée en parametre est une couleur héxadécimale ou non :
function isColor($color){ $return =false; if (preg_match('/^#(?:(?:[a-fd]{3}){1,2})$/i', $color)) { $return =true; } return $return; }
Définis si la chaine passée en parametre est un mail ou non :
function isMail($mail){ $return =false; if (filter_var($mail, FILTER_VALIDATE_EMAIL)) { $return =true; } return $return; }
Définis si la chaine passée en parametre est une IP ou non :
function isIp($ip){ $return =false; if (preg_match('^(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:[.](?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}$',$ip)) { $return =true; } return $return; }
Faudra voir à changer de plugin de coloration syntaxique, celui-ci ajoute de moches dans le code =P
Sympas, ces snippets (j’aime bien celui pour le mail, je ne connaissais pas ce filtre natif de PHP) !
J’ai terminé le plugin de ProgBar ; mieux vaut tard que jamais, hein, la règle des 80/20, tu connais sûrement. Ceci dit, je ne mets pas le lien direct ici, histoire de te montrer d’abord :3 Tu m’envoies un mail et je te passe le lien ?
Oui j’ai vu ça , je pense que mon thème custom ne s’entend pas bien avec mon plugin de coloration syntaxique :p . La classe pour progBar, il me tarde de voir ça 🙂 , je t’ai envoyé mon mail. 🙂
Mail reçu et répondu !
(tiens, ce serait bien d’avoir une case à cocher pour être mis au courant des nouveaux commentaires)
Ha si seulement j’avais une seconde pour ça ! 😀 Je termine la 50 aine de projets en cours et je m’y met ^^ promis !