Bonjour, je souhaite récupérer la valeur d'un div contenu dans un site extérieur au mien.
Exemple:
Puis si possible de créer un xml avec la valeur récupérer.Code:<div id="test">Valeur_à_récupérer</div>
Comment puis-je déjà récupérer cette valeur ?
Version imprimable
Bonjour, je souhaite récupérer la valeur d'un div contenu dans un site extérieur au mien.
Exemple:
Puis si possible de créer un xml avec la valeur récupérer.Code:<div id="test">Valeur_à_récupérer</div>
Comment puis-je déjà récupérer cette valeur ?
Bonjour,
Tu peux utiliser file_get_contents pour récupérer le code source de la page distante et executer une expression régulière afin de ne récupérer que la valeur du div. Vérifies que la directive allow_url_fopen est bien activé sur ta configuration serveur.
Ensuite, pour la génération XML si ton serveur le supporte opte pour DomDocument qui permet de faire çà très facilement et de manière structurée.Code:
1
2
3
4
5
6 $html = file_get_contents($url); preg_match('/<div id="test">(.*?)<\/div>/', $html, $matches); print_r($matches); echo $matches[0];
Sinon tu as la possibilité de créer une fichier et d'écrire une chaine contenant des balises.
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17$html = file_get_contents($url); preg_match('/<div id="test">(.*?)<\/div>/', $html, $matches); print_r($matches); echo $matches[0]; if($file = @fopen('value.xml', 'w')){ $xml = ' <?xml version="1.0" encoding="utf-8"> <root> <value alias="main">'.$matches[0].'</value> </root> '; fwrite($file, $xml); fclose($file); }
J'arrive très bien à récupérer la valeur que je veux mais je ne comprend pas comment mettre tout ça dans un fichier xml sachant que j'ai PHP Version 5.2.12.
J'ai déjà répondu à cette question ci-dessus.
:calim2: çà fonctionne pas alors
J'ai créer un fichier nommé test.xml dans le même répertoire que la page php.
L'idéal, c'est que le fichier xml s'affiche directement dans la page php, j'ai essayé mais je n'y arrive pas.
Si ca ne fonctionne pas et sans plus de détails, nous ne pourrons t'aider.Code:
1
2
3
4
5
6
7echo ' <?xml version="1.0" encoding="utf-8"> <root> <value alias="main">'.$matches[0].'</value> </root> ';
Ça s'affiche sous forme de page html, c'est à dire que ça n'affiche pas les balises...
Mon site est hébergé par Free Web Hosting. Quels détails de plus vous faut-il ?
Merci beaucoup pour votre aide.
EDIT :
Tout compte fait, je pense que je vais être obliger de modifier un xml sur le serveur car sinon ça affiche automatiquement ça à la fin de la page php :
EDIT 2 :Code:
1
2
3
4 <!-- www.000webhost.com Analytics Code --> <script type="text/javascript" src="http://analytics.hosting24.com/count.php"></script> <noscript><a href="http://www.hosting24.com/"><img src="http://analytics.hosting24.com/count.php" alt="web hosting" /></a></noscript> <!-- End Of Analytics Code -->
J'ai réussi à supprimer ce script mais ça ne marche visiblement toujours pas.