Convertir Hexadecimal a RGB con PHP
Veo en PHPClasses un articulo que muestra cómo convertir un código de color hexadecimal (#cc0000) a RGB (rgb(255,255,255)) y que si nos paramos a leer un poco se puede ver como también lo convierte a la inversa, de rgb a hexadecimal.
Aquí el código:
<?php
/**
* This is an example on using Color to get similar
* colors based on a supplied hex or rgb color.
*/
$hsv = Color::hex2hsv("#00CCFF");
//$hsv = Color::rgb2hsv(0, 204, 255);
for ($i = 0; $i < 5; $i++) {
$rS = mt_rand(0, 100);
$rV = mt_rand(0, 100);
$bg = "#".Color::hsv2hex($hsv['h'], $rS, $rV);
//$rgb = Color::hsv2rgb($hsv['h'], $rS, $rV);
//$bg = "rgb(".$rgb['r'].", ".$rgb['g'].", ".$rgb['b'].")"
echo "<div style=\"width:100px;height:100px;background-color:".$bg.";\"> </div>\n";
}
/**
* You can do the same but for random hues keeping the same by
* keeping the supplied saturation and value, random saturation
* by keeping the hue and value, and this will also work using
* the HSL methods, if you prefer to work with those values.
*/
?>
Que podriamos resumir en:
<?php
$hsv = Color::hex2hsv("#00CCFF");
for ($i = 0; $i < 5; $i++) {$rS = mt_rand(0, 100);
$rV = mt_rand(0, 100);
$bg = "#".Color::hsv2hex($hsv['h'], $rS, $rV);
echo "<div style=\"width:100px;height:100px;background-color:".$bg.";\"> </div>\n";
}
?>
RegEx I, sólo letras, números y espacios.
No es ningún secreto que las expresiones regulares son aún un campo casi desconocido para mí, aunque las haya usado muchas veces casi ninguna han sido hechas por mi… de manera que, para no tener que ir buscando en google la expresión correcta cada vez que quiera utilizarla – y ya de paso intentar subir pagerank xD – haré una guia serie de ejemplos usables.
Este es el primero:
Detectar si una cadena contiene algo que no sean letras, numeros, espacios o guiones – las letras sin acentos.
Código:
$dirname=trim($dirname);
if (!ereg("^[a-zA-Z0-9[:space:]]*$",$dirname)
or (strlen($dirname<1) or (strlen($dirname)>30)){
die('ERROR! Puede que el nombre de la carpeta no cumpla las condiciones.');
}
En este caso además comprueba el tamaño de la cadena.
Con trim() eliminamos los saltos de linea y espacios que haya al inicio y al final de la cadena, y la cadena en cuestión estará guardada en $dirname.