01net    Web


Actuellement en ligne : 1030 Utilisateurs dont 59 dans Programmation et développement >S'inscrire      >S'identifier      >Recherche      >Aide  
modéré par A.Ouloube, Beno@  
01net > Forum de 01net > Programmation et développement > PHP
> Erreur d'analyse XML et problème de boucle
Auteur
Message
 
<     1       >
Avlas
  
   
      ?   @     Posté le 25/11/2007 15:54:48  
Voter pour ce message
Bonjour à tous,

Je tente de mettre en place un flux RSS via un script php en include.
//global $database, $mainframe, $my, $Itemid;

$now = date( "Y-m-d H:i:s", time()+$mosConfig_offset*60*60 );

$menu= new mosMenu( $database );
$menu->load( 1 );
$params = mosParseParams( $menu->params );



$count = isset( $params->count ) ? $params->count : 10;
$orderby = @$params->orderby;

switch (strtolower( $orderby )) {
case 'Most recent ads first':
$orderby = "date_created DESC";
break;
case 'Most viewed ads first':
$orderby = "views DESC";
break;
default:
$orderby = "date_created DESC";
break;
}

//$description = $params->get( 'description' );
$description = isset( $params->description ) ? $params->description : "";
$title = isset( $params->title ) ? $params->title : "";

$sql = "SELECT id, ad_headline, ad_text, date_created, views FROM #__adsmanager_ads "
. "\nWHERE published='1' "
. "\nORDER BY ".$orderby
. ($count ? " LIMIT $count" : "");

$database->setQuery( $sql );

$rows = $database->loadObjectList();

header('Content-type: application/xml');
$encoding = split("=", _ISO);
echo "<?xml version=\"1.0\" encoding=\"".$encoding[1]."\"?>"; ?>
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">
<rss version="0.91">
<channel>
<title><?php echo htmlspecialchars($mosConfig_sitename); ?></title>
<link><?php echo $mosConfig_live_site; ?></link>
<description><?php echo $description ?></description>
<language>en-us</language>
<lastBuildDate><?php $date = date("r"); echo "$date";?></lastBuildDate>
<image>
<title><?php echo $title ?></title>
<url><?php echo $mosConfig_live_site; ?>/modules/mod_adsmanager_rssfeed/rss.png</url>
<link><?php echo $mosConfig_live_site; ?></link>
<width>88</width>
</image>
<?php
foreach ($rows as $row) {
echo ("<item>");
echo ("<title>".htmlspecialchars($row->ad_headline)."</title>"."\n");
echo "<link>";
if ($mosConfig_sef == "1"){
echo sefRelToAbs("index.php?option=com_adsmanager&page=show_ad&adid=".$row->id);
} else {
echo $mosConfig_live_site . "/index.php?option=com_adsmanager&page=show_ad&adid=" . $row->id;
}
echo "</link>\n";
$words = $row->ad_text;
$words = preg_replace("'<script[^>]*>.*?</script>'si","",$words);
$words = preg_replace('/<a\s+.*?href="([^"]+)"[^>]*>([^<]+)<\/a>/is','\2 (\1)', $words);
$words = preg_replace('/<!--.+?-->/','',$words);
$words = preg_replace('/{.+?}/','',$words);
$words = preg_replace('/ /',' ',$words);
$words = preg_replace('/&/',' ',$words);
$words = preg_replace('/"/',' ',$words);
$words = strip_tags($words);
$words = htmlspecialchars($words);
echo ("<description>".substr($words,0,100)."...</description>"."\n");
echo ("</item>"."\n");
}
?>
</channel>
</rss>

Le navigateur me retourne ce message d'erreur
Erreur d'analyse XML : instruction de traitement XML pas au début d'une entité externe
Emplacement : -http://www.arkenia.com/test/index2.php?option=com_adsmanager&page=rss&no_html=1
Numéro de ligne 2, Colonne 1 :<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">
^

La source de ce message d'erreur
<?xml version="1.0" encoding="iso-8859-1"?><!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">
<rss version="0.91">
<channel>
<title>OccasionPhoto.fr</title>
<link>http://www.arkenia.com/test</link>
<description></description>
<language>en-us</language>
<lastBuildDate>Sun, 25 Nov 2007 15:05:39 +0100</lastBuildDate>
<image>
<title></title>

<url>http://www.arkenia.com/test/modules/mod_adsmanager_rssfeed/rss.png</url>
<link>http://www.arkenia.com/test</link>
<width>88</width>
</image>
<br />
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/home/www/arkenia/www/test/modules/mod_adsmanager_rssfeed/rss.adsmanager.php</b> on line <b>61</b><br />

</channel>
</rss>


Aperçu ci-dessous

-http://www.arkenia.com/test/index2.php?option=com_adsmanager&page=rss&no_html=1

P"tit coup main please.

Merci.
<     1       >

01net > Forum de 01net > Programmation et développement > PHP
> Erreur d'analyse XML et problème de boucle

Aller à :

Page générée en : 0.13s - X2board 2.2

Nous contacter | Charte de confiance | Voir notice légale

Tous droits réservés © 1999 - 2008 Groupe Tests - 01net.


Sites du réseau 01net Network : 01net - 01men - Rmc.fr - Bfmtv.fr - Radiobfm.com - TousLesPodcasts - Micro Achat

Édition PDF
Créez, convertissez, personnalisez et visualisez vos documents PDF!

Jeux
Nouveauté : Alignez les trophées et gagnez de l’argent à chaque exploit réalisé.