Expressions régulières et liens relatifs
Manu
-
Elise78 Messages postés 77 Statut Membre -
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:
Et voici le script:
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
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:
- Expressions régulières et liens relatifs
- Vérificateur de liens - Guide
- Telecharger liens direct - Accueil - Outils
- Ou trouver les liens copiés sur android - Guide
- Valeur relative et absolue - Forum Programmation
- Liens copiés ✓ - Forum Google Chrome
3 réponses
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...
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...
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
Bon courage. Cordialement, Elise78