1) Réduction d'images insérée dans un texte
posté par Yves Maistriaux (ID : 38)
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.
<?php
$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;
?>
2) Convertir une couleur Hexadécimal en RVB
posté par Yves Maistriaux (ID : 87)
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
<?php
$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));
}
?>