Estoy tratando de escribir expresiones regulares que extraiga todos los colores hexadecimales del código CSS.Regex para hacer coincidir los colores hexadecimales CSS
Esto es lo que tengo ahora:
Código:
$css = <<<CSS
/* Do not match me: #abcdefgh; I am longer than needed. */
.foo
{
color: #cccaaa; background-color:#ababab;
}
#bar
{
background-color:#123456
}
CSS;
preg_match_all('/#(?:[0-9a-fA-F]{6})/', $css, $matches);
Salida:
Array
(
[0] => Array
(
[0] => #abcdef
[1] => #cccaaa
[2] => #ababab
[3] => #123456
)
)
No sé cómo especificar que sólo los colores se corresponden con los que termina puntuación, espacios en blanco o nueva línea.
no se molestan con expresiones regulares. Ver la respuesta de @modu. 'if (ctype_xdigit ($ color) && strlen ($ color) == 6)'. –