source: spip-zone/_plugins_/rss_commits/trunk/inc/analyser_rss_commits.php @ 84421

Last change on this file since 84421 was 84421, checked in by teddy.spip@…, 7 years ago

On formate un peu le xml récupéré tant que le namespace est encore un peu chiant à manipuler. Et on passe par l'astuce d'Eric avec un json_encode du xml puis json_decode. L'arbre du xml est moins complexe à parcourir avec cette méthode. Pas de item-uniqid() à prendre en compte.

File size: 827 bytes
Line 
1<?php
2
3if (!defined("_ECRIRE_INC_VERSION")) {
4    return;
5}
6
7function inc_analyser_rss_commits_dist($url)
8{
9    include_spip('iterateur/data');
10    include_spip('inc/distant');
11    $valeurs = array();
12    $xml = false;
13    $page = recuperer_page($url);
14    if (!is_null($page)) {
15        $page = preg_replace("/\<\?(.*)\?\>/", "", $page);
16        // Transformer les <dc:creator> en faveur de <author>
17        $page = preg_replace("/dc:creator\>/", "author>", $page);
18        // Transformer les <content:encoded> du rss de Git en faveur de <texte>
19        $page = preg_replace("/content:encoded\>/", "texte>", $page);
20        // Merci _Eric_ pour ce code.
21        $xml = json_decode(json_encode(simplexml_load_string($page)), true);
22    }
23
24    // echo "<pre>";
25    // var_dump($xml);
26    // echo "</pre>";
27
28    return $xml;
29}
30?>
Note: See TracBrowser for help on using the repository browser.