jajajja... y pensar que lo mio son las expresiones regulares...
prueba así:
Cita: /\s*([a-zA-Z0-9:-]+)\s*=\s*([\'\"])?(.*?)(?(2)\\2)\s*(?:(?=\w+\s*=)|\s*$)\s*/
bueno, la expresión sirve en sí para capturar todos los atributos con sus respectivos valores... eso, sin salirse de si propio contexto...
la verdad se me hace un poco complicado, pero funciona...
los
\\N significan que
N es el sub-patrón capturado... en este caso
([\'\"]) es el segundo grupo... por ende,
(?(2)\\2) significa algo así como "
si se ha capturado la comilla de apertura (opcional) la podemos encontrar justo como cierre del valor en el atributo"
en realidad es mas divertido que complicado definir expresiones, y si, sin duda todo se encuentra en alguna referencia... solo hay que traducir poco a poco y reflexionar como se hacen bien... (: