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 !