Bonjour,

Il existe plusieurs topics proches et j'ai essayé d'adapter les solutions proposées au cas que j'ai à traiter, malheusement sans succès. Les expressions, j'ai encore du mal !

Je désire récupérer les valeurs de certains attributs de certaines balises html.

1- Les balises peuvent changer en fonction de l'utilisation
2- Les attributs peuvent changer en fonction de l'utilisation
3- Le plus grand nombre de syntaxes possibles est à considérer (espaces, quote, pas quote, etc)

exemple :
on désire les valeurs des attibuts alt et src de la balise img
<img src="toto.png" title ='photo de toto' alt="toto" />
<img title='photo de toto' src = "toto.png" alt="toto" />
etc ... toutes les syntaxes possibles, y compris si un des attributs demandés n'est pas présent

Ici, je voudrais avoir un tableau
tab['img'] = array (
'src' => 'toto.png',
'alt' => 'toto' );

Pour l'heure, je suis arrivé à :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
$pattern = '#<'.$tag.'[^>]*'.$attribut.'[ ]*=["\']?([^"\'> ]*)["\']?[^>]*>#is';
if ( preg_match_all( $pattern, $ch, $matches ) )
{
    print_r( $matches[0] );
}
Mais j'obtiens l'intégralité de la balise ! <img src="toto.png" title ='photo de toto' alt="toto" /> deux fois et non les valeurs de mes deux attributs.
J'ai pas réussi à faire mieux ...

Une idée ?
Merci