[PHP / Expression Reg.] Extraire les attributs d'une image ?


Dharius
WRInaute impliqué
WRInaute impliqué
 
Messages: 840
Inscription: 6 Avr 2005

[PHP / Expression Reg.] Extraire les attributs d'une image ?

Message le Sam Sep 13, 2008 10:05

Bonjour,

Cela fait plusieurs semaines que je cherche maintenant et je n'ai rien trouvé, alors c'est un peu avec honte que je viens questionner les membres de WRI qui pourraient m'aider.

En fait, j'ai une chaine HTML claissique avec une image du genre :

Code: Tout sélectionner
<img height="450" width="600" align="left" alt="mon image" src="/blogs/124/images/CIMG3060.JPG" />


ATTENTION, l'ordre des attributs peut être différent.
Je cherche à supprimer tous les attributs sauf src et alt, mais je n'y arrive pas...

Voici ce que j'utilise actuellement et qui ne fonctionne pas :oops:

Code: Tout sélectionner
$img = eregi_replace("width=([\"]+) ", "", $img);
$img = eregi_replace("height=([\"]+) ", "", $img);
$img = eregi_replace("align=([^\"]+) ", "", $img);
$img = eregi_replace("name=([^\"]+) ", "", $img);
$img = eregi_replace("id=([^\"]+) ", "", $img);
$img = eregi_replace("border=([^\"]+) ", "", $img);
$img = eregi_replace("style=([^\"]+) ", "", $img);
$img = eregi_replace("title=([^\"]+) ", "", $img);


Une autre solution consisterait de récupérer la liste des attributs dans un tableau et de les remplacer ensuite 1 à 1 avec un str_replace par exemple, mais encore une fois, je ne sais pas comment faire. Moi et les expressions régulières, ça fait 3...

Merci à ceux qui pourront m'aider ! :)


Topsitemaker
WRInaute impliqué
WRInaute impliqué
 
Messages: 585
Inscription: 19 Nov 2006

Message le Sam Sep 13, 2008 10:50

Bonjour,
j'aurai fait l'inverse,
J'essaierai d'extraire les balises qui m'intéressent, à la place d'enlever les balises qui ne m'intéressent pas.


Dharius
WRInaute impliqué
WRInaute impliqué
 
Messages: 840
Inscription: 6 Avr 2005

Message le Sam Sep 13, 2008 10:53

Topsitemaker a écrit:Bonjour,
j'aurai fait l'inverse,
J'essaierai d'extraire les balises qui m'intéressent, à la place d'enlever les balises qui ne m'intéressent pas.


oui, c'est aussi une solution en effet... Mais encore une fois ça n'ecessite l'intervention d'expressions régulières :(


Dharius
WRInaute impliqué
WRInaute impliqué
 
Messages: 840
Inscription: 6 Avr 2005

Message le Sam Sep 13, 2008 18:31

Salut à tous,

Bon je sais pas si dans ce forum personne ne veut aider ou s'il y a que des débutants, mais j'ai eu la réponse sur un autre forum...

Comme je pense que cela pourra aider d'autres personnes voici comment j'ai fais :

Code: Tout sélectionner
preg_match_all('#alt="(.*?)"#i', $img,$tab1);
preg_match_all('#src="(.*?)"#i', $img,$tab2);

$src = $tab1[1][0];
$alt = $tab1[2][0];


:)


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité