a te non serve
DD
in realtà devi fare tutt'altra cosa ...
tirare fuori con una espressione regolare tutti i tag che hanno almeno un attributo con valore e poi lanciare un'espressione su questi tag per estrarre gli attributi
un qualcosa del genere
codice:
preg_match_all('/<[a-z]+.+=.+>/i', $html, $arr);
while(list(, $element) = each($arr[0])) {
$old_element = $element;
preg_match_all('/([a-z]+)="(.+)"/i', $element, $arr_element);
while(list(, $attribute) = each($arr_element[0])) {
$old_attribute = $attribute;
$attribute = trim($attribute);
// fai quello che devi fare ... ma fallo su $attribute
// dentro $attribute[1] hai il nome dell'attribute mentre dentro $attribute[2] hai il valore.
$element = str_replace($old_attribute, $attribute, $element);
}
$html = str_replace($old_element, $element, $html);
}
fai attenzione ... il codice non l'ho minimamente testato ... xo dovrebbe andare
la prima espressione regolare estrae tutti i tag di apertura che contengono almeno 3 caratteri di cui quello in mezzo tra questi blocchi di caratteri sia un uguale ... (e quindi ci sta per forza un attributo ... o il tag è scritto male
) ... la seconda regexp tira fuori tutti gli attributi. Fai attenzione ... i valori devono essere racchiusi tra apici doppi altrimenti nun funzia nulla