Recuperer une partie de fichier

loveidylle
Invité n'ayant pas de compte PHPfrance

16 août 2005, 13:46

Bonjour,
est il possible en php de recuperer une partie du code source d'une page pour l'inclure dans une autre page?
Je m'explique:
dans une page html a l'adresse: http://www.pageexemple.com il y a une partie que j'aimerais récuperer pour l'inclure dans une autre page mais pas la page entière...
en fait c'est comme un copier/coller à la volée..

quelqu'un a t'il la portion de script php pour faire ça (si ça existe lol)

merci de votre aide

@ bientôt

LI

HD
Mammouth du PHP | 1181 Messages

16 août 2005, 13:51

$adresse="http://www.adresse.com");
$fp = fopen($adresse,"r"); //lecture du fichier
if (!isset($page)) $page="";        // creer $page si elle n'existe pas
while (!feof($fp)) { //on parcourt toutes les lignes
  $page .= fgets($fp, 4096);        // lecture du contenu de la ligne
}
$titre = eregi("mot_cle_1(.*)mot_cle_2"); // isole ce qui est voulu
(...)
a completer selon ce que tu veux

loveidylle
Invité n'ayant pas de compte PHPfrance

16 août 2005, 22:39

merci pour ta réponse ;-)
Si j'ai bien compris, la variable $titre prend comme valeur tout ce qui se trouve entre Mot_cle_1 et Mot_cle_2
Il suffit ensuite de faire: print "$titre" pour inclure ce contenu dans ma page.... c'est bien ça?
et si les lignes en question contiennent des " y'a pas de soucis?

J'ai essayé et j'ai le message d'erreur suivant:

Warning: Wrong parameter count for eregi() in c:\program files\easyphp\www\sitetest\tmp2343rlc10w.php on line 9

En fait j'ai peut être rien compris lol

Merci ;-)

LI

HD
Mammouth du PHP | 1181 Messages

17 août 2005, 05:24

merci pour ta réponse ;-)
Si j'ai bien compris, la variable $titre prend comme valeur tout ce qui se trouve entre Mot_cle_1 et Mot_cle_2
Il suffit ensuite de faire: print "$titre" pour inclure ce contenu dans ma page.... c'est bien ça?
2rien et c'est ca
et si les lignes en question contiennent des " y'a pas de soucis?
normalement non j'ai jamais eu se probleme mais je peux me tromper. à verifier donc avec une page test par exemple
J'ai essayé et j'ai le message d'erreur suivant:

Warning: Wrong parameter count for eregi() in c:\program files\easyphp\www\sitetest\tmp2343rlc10w.php on line 9
pour regler ca il te faut poster ton code, c'est logique !

loveidylle
Invité n'ayant pas de compte PHPfrance

17 août 2005, 12:23

bonjour,
Jusqu'a la ligne 9 je n'ai rien changé au code que tu m'as donné (a part l'adresse de la page évidemment)

a la ligne 9 en question j'ai mis:

$titre = eregi("isopen (.*) <SCRIPT>");


isopen = premier mot de la zone a récuperer
</SCRIPT> = dernier mot de la zone à récuperer

j'ai éssayé avec une autre zone comportant juste une partie de texte simple mais j'ai la même erreur, aparement il manque un argument dans cette ligne de code non?

encore merci :-)

LI

HD
Mammouth du PHP | 1181 Messages

17 août 2005, 12:29

faut que tu donne l'adresse de la page que tu veux recuperer sinon j'aurai du mal à te repondre...

j'ai trouvé!
Invité n'ayant pas de compte PHPfrance

17 août 2005, 15:35

merci, j'ai trouvé le bon code...

$fp = fopen("http://www.la_page/index.html","r"); //lecture du fichier

while (!feof($fp)) { //on parcourt toutes les lignes

$page .= fgets($fp, 4096); // lecture du contenu de la ligne

}

$selection = eregi("mot_cle_debut(.*)mot_cle_fin",$page,$regs); //on isole la selection


echo "$regs[1] "; //on affiche le texte selectionné

fclose($fp);

Comme ça ça marche nikel !!!

Encore merci pour ton aide ;-)

LI