En un código CSS como este, necesito ser capaz de separar los elementos por si son
HTML (no llevan ni punto ni # delante)
CLASS (llevan un punto delante)
ID(llevan una # delante)
Ejemplo:
Código CSS:
Ver original
body#help #content ul#helpCategories { margin: 5px 0 0 0; padding: 0; list-style: none; } #footer #footerGlobalNav ul li.first { border-left: none; } .multipleColumns #pageContent-main, #pageContent-second { width: 305px; float: left; }
Me debería decir para la primera propiedad que
body#help #content ul#helpCategories {
HTML = body y ul
CLASS = no hay clases
ID = help, content y helpCategories
#footer #footerGlobalNav ul li.first {
HTML = ul y li
CLASS = first
ID = footer y footerGlobalNav
.multipleColumns #pageContent-main, #pageContent-second {
HTML = ninguna
CLASS = multipleColumns
ID = pageContent-main y pageContent-second
La expresión regular me selecciona todo lo que hay desde comienzo de linea hasta el signo {
preg_match_all("/[\.#\s\w:-]*\w[,\s+]+[:\.#\s\w:-]*\{/is",$linea,$matches)
Por lo que del resultado,
body#help #content ul#helpCategories {
#footer #footerGlobalNav ul li.first {
.multipleColumns #pageContent-main, #pageContent-second {
solo queda hacer la parte de diferenciar cuales son HTML, CLASS e ID, y no se como hacerlo de una manera que funcione para los 3 casos.
¿Se os ocurre algo?
Muchas gracias de antemano!