begin process at 2012 05 30 20:50:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Trucs et astuces

 > 

Flux WEBRANKINFO


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Flux WEBRANKINFO

vendredi 12 août 2005 à 15:59:14 | Flux WEBRANKINFO

malik7934

Hello,

Aujourd'hui j'ai fait la douloureuse decouverte que je ne pouvais pas utiliser simple xml sur mon site.... je me suis donc empresse de demander a mon provider de parer a ca! En attendant, comme j'avais envie d'avoir les news de webrankinfo sur mon site, j'ai bricole ca:

<?php
$file = 'http://www.webrankinfo.com/rss.php';
$stack = array();

// ---- DEBUT PARSEUR
function startTag($parser, $name, $attrs)
{
   global $stack;
   $tag=array("name"=>$name,"attrs"=>$attrs); 
   array_push($stack,$tag);
 
}

function cdata($parser, $cdata)
{
   global $stack,$i;
  
   if(trim($cdata))
   {   
       $stack[count($stack)-1]['cdata']=$cdata;   
   }
}

function endTag($parser, $name)
{
   global $stack; 
   $stack[count($stack)-2]['children'][] = $stack[count($stack)-1];
   array_pop($stack);
}

$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startTag", "endTag");
xml_set_character_data_handler($xml_parser, "cdata");

$data = xml_parse($xml_parser,file_get_contents($file));
if(!$data) {
   die(sprintf("XML error: %s at line %d",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)));
}

xml_parser_free($xml_parser);
// ---- FIN PARSEUR

// C'est a partir de la qu'on rigole. Tout le fatra qui suit est pour recuperer
// le titre, l'url et la description de la news
// c'est compatible rien du tout a l'exception de webrankinfo :)

$n = count($stack[0][children][0][children]);
$k=0;
for ($i=0;$i<$n;$i++){

 while (list($key, $val) = each($stack[0][children][0][children][$i])) {
  if (strcmp($val, 'ITEM')==0){
  
   $m = count($stack[0][children][0][children][$i][children]);

   for($j=0;$j<$m;$j++){
    while (list($key2, $val2) = each($stack[0][children][0][children][$i][children][$j])) {
     if (strcmp($val2, 'TITLE')==0)   $news[$i][0] = $stack[0][children][0][children][$i][children][$j][cdata];
     if (strcmp($val2, 'LINK')==0)   $news[$i][1] = $stack[0][children][0][children][$i][children][$j][cdata];
     if (strcmp($val2, 'DESCRIPTION')==0)  $news[$i][2] = $stack[0][children][0][children][$i][children][$j][cdata];
    }
   }
  }
 }
}

for ($i=0;$i<$n;$i++){

 if(!(empty($news[$i][0])))

  echo '<a href="'.$news[$i][1].'" target="_blank">'.$news[$i][0].'</a><br />'.$news[$i][2].'<hr />';
}
?>


Le parseur en lui meme, je l'ai trouve sur php.net. Pour le reste je me suis enerve un moment, mais ca tourne!

Ca vaut pas une source, alors je poste ca ici si ca peut servir a quelqu'un

Enjoy, ++



Cette discussion est classée dans : xml, parser, stack, cdata, children


Répondre à ce message

Sujets en rapport avec ce message

parser xml [ par Nebraska ] bonjour,bon je débute salement en php; et j'ai besoin d'un parser xml. J'ai essayé ça mais bon ça marche pas :(Une bonne âme prèt a me dire ou je me s Au secours : comment parser un fichier xml et inserer a la volé dans une base mysql [ par deblok83 ] Bonjour,     c'est mon premier post ici alors je me permet de me presenter je suis le webmaster de deblok83.com . j'ai un petit probleme je veux fair Parser xml en php [ par tahbre ] Bonjour à tous, Je dois accéder à un fichier xml qui est sur un autre site ftp que le mien, et je veux réaliser un parser en php de façon à stocker l Parser Flux XML afin de trouver une info [ par neoxdragon ] Salut, Ce que je souhaite faire c'est parser un XML de ce type: 1 Nom1 afin d'obtenir l'id &#224 XML SAX organisation d'un menu [ par jnbdzjnbdz ] Bonjour, jessais depuis quelque semaines de faire un systeme avec xml pour mon menu affiche de la facon définis par le code xml voici ce que sais supo Probleme avec un parser XML vers PHP [ par foliop ] Salut j'utilise ce script pour afficher un flux XML en php : Code : function GetXMLTree ($xmldata) { ini_set ('track_errors', '0'); $ XML et EncryptedData ? [ par debuger ] Bonjour,J'aimerai savoir s'il est possible de Parser un fichier XML qui est crypté ! ? et celà avec une feuille de style XSL bien sur ?d'ailleurs comm Parser un document xml et créer un fichier [ par Noizet ] Hello,J'ai un document xml qui est sous cette forme :cours>   salle< Parseur Xml StAX [ par anisis ] Bonjour tt le monde,En fait mon prblm c'est que je reçois des fichiers xml de grandes tailles et je dois les parser , Maintenant je suis entrain d'uti Aide pour mon Parser XML [ par ddpetit ] Bonjour à tous,  je suis en train de me créer un parser xml pour un de mes sites, un problème subsiste, j'ai réussi à faire le parser en lui meme, mai


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,265 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales