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
Cette fonction de réduction proportionnelle d'images permet de mettre à l'échelle des images insérées au trvers d'un texte. Au départ de balises perso, on utilise la fonction preg_replace_call_back pour rendre l'image active et réduite.
$texte='Une chaine avec du balisage perso dont une
[img]http://unsite.com/photos/img-1.jpg[/img]
et du texte à la suite et encore une image
[img]http://www.unautresite.com/photos/img-3.jpg[/img]
et c\'est fini !';
function resize($masque){
$taille = @getimagesize($masque[2]);
$max=100;//largeur max autorisée en pixels
$haut_i = $taille[1];
$larg_i = $taille[0];
if($larg_i >$max)
{
$coeff=$max/$larg_i;
$larg_i=$max;
$haut_i=ceil($haut_i*$coeff);
}
return $masque[1].'<img src="'.$masque[2].'"
height="'.$haut_i.'" width="'.$larg_i.'">'.$masque[3];
}
$texte=preg_replace_callback('`(.*?)\[img](.*?)\[/img](.*?)`s',resize,$texte);
echo $texte;
?>
Petite fonction permettant la réduction d'une image. (à l'affichage) Petite fonction permettant la réduction d'une image. (à l'affichage) Agit sur une valeur (ex : largeur) tout en réduisant l'autre (ex: hauteur) proportionnellement.
function reduction ($image){
$dim=getimagesize($image);
$pixmaxi=200; //on fixe ici la taille maximum souhaitée.
$hauteur=$dim[1];
$largeur=$dim[0];
if ($largeur>$pixmaxi) // on agit sur la largeur dans ce cas
{
$reduire=$pixmaxi/$largeur;
$largeur=$pixmaxi;
$hauteur=ceil($hauteur*$reduction);
}
if (file_exists($image))
{
echo '<img src="',$image,'" heigth="',$hauteur,'" width="',$largeur,'">';
} else {
echo 'Image non disponible';
}
}
// à l'endroit de l'affichage, on appele la fonction
echo reduction($image);
?>
Un code simple permettant de convertir une couleur hexadécimal en teintes R V B. J'ai simplement ajouté une regex qui vérifie le bon format de la couleur hexadécimal et retourne la capture dans le tableau $out
$color='ff0000';
echo 'Convertir la couleur hexa en RVB<br/>la valeur hexa est :
<strong>',$color,'</strong><br/>';
if(preg_match('`^#?([a-f0-9]{6})$`',$color,$out))
{
$color="#".$out[1];
echo 'La valeur R = ',hexdec (substr ($color, 1,2)),'<br />
La valeur V = ',hexdec (substr ($color, 3,2)),'<br />
La valeur B = ',hexdec (substr ($color, 5,2));
}
?>
Un code simple permettant de convertir une couleur hexadécimal en teintes R V B. J'ai simplement ajouté une regex qui vérifie le bon format de la couleur hexadécimal et retourne la capture dans le tableau $out
$color='ff0000';
echo 'Convertir la couleur hexa en RVB<br/>la valeur hexa est :
<strong>',$color,'</strong><br/>';
if(preg_match('`^#?([a-f0-9]{6})$`i',$color,$out))
{
$color="#".$out[1];
echo '
La valeur R = ',hexdec (substr ($color, 1,2)),'<br />
La valeur V = ',hexdec (substr ($color, 3,2)),'<br />
La valeur B = ',hexdec (substr ($color, 5,2));
}
?>
