Expressions régulières et liens relatifs

Manu -  
Elise78 Messages postés 77 Statut Membre -
Bonjour,
Je cherche à changer en PHP des liens physiques d'un fichier HTML en liens logiques.
Je cherche donc de modifier les chemins absolus en chemins relatifs.
Ces liens qui concernent vers des images JPEG ou GIF.
J'ai réalisé un script, mais il ne me renvoie que la première image que je trouve.

J'ai fait aussi un petit site à appeleer site_web.html pour tester a mettre dans le meme repertoire:

<html>
<head>
<title>site web</title>
</head>
<body>
Voici une premiere image.
<img src="D:\mes_documents\images_favorites\grenouilles\kermit.jpg" align=CENTER>
c'est bon j'en ai mis une. 
<img src="D:\documents_jean-louis\pictures\logo.gif" align=LEFT><br>
et je viens d'en mettre une autre.
<body>
</html>


Et voici le script:

<html>
<head>
<title>test.php: Enregistrement des images</title>
</head>
<body>

<?            
//je cree une fonction pour lire le fichier

function expr_reg_fichier($file_path){

    //ouverture en lecture  et ecriture du fichier
    $fp = fopen($file_path,"r+");

    $page="";

    //tant que l'on atteint pas la fin du fichier
    while (!feof($fp)){ 

	//on parcourt toutes les lignes
        $page .= fgets($fp, 4096); // lecture du contenu de la ligne        
                
		//on isole toutes les expressions qui correspondent aux images
        	if (!eregi("\"(.*)\.jpg\"",$page,$regs)) {
            		if (!eregi("\"(.*)\.jpeg\"",$page,$regs)) {
                    		eregi("\"(.*)\.gif\"",$page,$regs);
                	}
        	}
    }
   fclose($fp);
   return $regs;
}

$images = expr_reg_fichier("./site_web.html");
echo ($images[1]);
echo ($images[2]); 
?>
        
</body>
</html>

Pourquoi le chemin de la 2e image ne s'affiche pas à echo ($images[2]); ?

Si vous pouviez m'avancer ce serait vraiment sympa, et ça m'éviterait d'énerver le chef ;-)
Merci
A voir également:

3 réponses

JSS Messages postés 3745 Statut Contributeur 32
 
je suis pas sur mais bon ... ca commence pas à images[0] ?

bon courage !

JSS.j'ai.bon.là?
0
Manu
 
bien essayé, mais images[0] est la totalité du tableau sensée contenir toutes les occurences de l'expression régulière trouvée.
images[1] contient la 1e occurence, images[2] contient la 1e occurence, etc... c'est écrit dans la partie sur ereg() dans la partie PHP de CCM ! ;-)

en fait, j'ai aussi un pb dans images[0], je n'ai que la 1e occurence, entre guillemets...
0
Elise78 Messages postés 77 Statut Membre 3
 
Je ne suis pas sur que ca t'aidera mais le probleme ne semble pas venir de la lecture de ton tableau image mais plutot de la facon dont tu le remplis ou a la limite la facon dont tu lis ton fichier. Ca fait un moment que je n'ai plus fait de PHP alors les details sont loins mais bon on ne pense pas forcement a tout quand on a le nez dans le code lol ...

Bon courage. Cordialement, Elise78
0