Détecter balise <img> en php

Résolu/Fermé
Jeje18 - Modifié par Jeje18 le 7/02/2012 à 22:44
 Jeje18 - 8 févr. 2012 à 14:54
Bonjour,

Je suis actuellement en train de développer une application iPhone pour mon site web et je dois développer parallèlement un fichier xml contenant mes derniers articles.

Dans mes articles, il y a des images qui ont chacunes des noms différents.

Exemple :
Texte de l'article blablablablabal<br> 
et ici une image <img src="images.jpg"><br><br> 
ici <em>une autre</em> <img src="autre.jpg">


Je dois mettre les différentes images en cache afin qu'elles soient disponibles hors connection. Le nom de fichier des images doit donc se trouver dans mon flux xml.

Avez-vous une idée du script php qui permet de scanner le code de l'article et d'y ressortir le nom des différentes images ?
Chaque article a un nombre différent d'images et chaque images à des noms aléatoires.

J'ai beau cherché, je ne trouve pas ! :/

Merci d'avance pour votre aide !

A voir également:

1 réponse

AssassinTourist Messages postés 5709 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 310
8 févr. 2012 à 12:10
Bonjour,

Je ne suis pas sûr d'avoir bien saisi le problème, mais si tu veux avoir la liste de tes images qui sont dans ta page, en javascript, il y a la commande getElementByTagName('img'). Du coup, en cherchant sur Google, il y a une sorte d'équivalent en php avec du DOM.
0
Merci pour votre réponse !

En fait, je dois créer un fichier XML via un script PHP donc pas de javascript.

Ce que je dois connaitre c'est tous les noms de fichiers des images contenues dans les différentes balises <img> qui se trouvent dans le code source d'un article. Ce code source est stockée dans une base de donnée MySQL !
0
AssassinTourist Messages postés 5709 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 310
8 févr. 2012 à 13:49
Je disais qu'il y avait une sorte d'équivalent de cette fonction en php
http://www.gaudry.be/php-rf-function.dom-domdocument-getelementsbytagname.html
0
Ca me semblait un peu délicat comme technique donc j'ai utilisé les regex.

Parfaitement fonctionnel !

Voici un exemple :

$content = 'blalalalalalal<br>itttrunefzneznuinfzeuinnufeziufz<p><img src="http://nighttunes.org/images/jojo.jpg">yoeziiodziodnueziudeuidziuzedzde<img src="http://nighttunes.org/images/jeje.jpg">';

preg_match_all("#<img(.*?)(src.*?)>#is",$content,$mat,PREG_PATTERN_ORDER);
 
foreach ($mat[2] as $im) 
{ 
		$tmp = explode(' ',$im);
 
		foreach ($tmp as $value)
		{
 
			if ((ereg('src',$value,$regs)) )
			{
 
 
				$img = eregi_replace('src=',"",$value);
 
				$img = eregi_replace('"',"",$img);
 
			}
			$img = basename($img);
			
			echo $img.'<br>';
		}
}


résultat :

jojo.jpg
jeje.jpg
0