2011-11-07 6 views
0

Je créer un flux rss, tout va bien, mais dans ce code xmlflux RSS dans CodeIgniter, ne peut pas exécuter {php} dans <description> tag

<description><![CDATA[****no php is allowed here****]]></description> 

ici est mon avis générer le fichier xml

<?php 
echo '<?xml version="1.0" encoding="utf-8"?>' . "\n"; 
?> 
<rss version="2.0" 
    xmlns:dc="http://purl.org/dc/elements/1.1/" 
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" 
    xmlns:admin="http://webns.net/mvcb/" 
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
    xmlns:content="http://purl.org/rss/1.0/modules/content/"> 

    <channel> 

    <title><?php echo $feed_name; ?></title> 

    <link><?php echo $feed_url; ?></link> 
    <description><?php echo $page_description; ?></description> 
    <dc:language><?php echo $page_language; ?></dc:language> 
    <dc:creator><?php echo $creator_email; ?></dc:creator> 

    <dc:rights>Copyright <?php echo gmdate("Y", time()); ?></dc:rights> 
    <admin:generatorAgent rdf:resource="http://www.codeigniter.com/" /> 

    <?php foreach($posts as $entry): ?> 

     <item> 

      <title><?php echo $entry->title_nw; ?></title> 
      <link><?php echo site_url('view=entry'.'&amp;'.'id=' . $entry->id_nw); ?></link> 
      <guid><?php echo site_url('blog/post/' . $entry->url_title); ?></guid> 

      <description><![CDATA[ 
     <?php character_limiter($entry->text_nw, 200); ?> 
     ]]></description> 
     <pubDate><?php echo $entry->date_nw;?></pubDate> 
     </item> 


    <?php endforeach; ?> 

    </channel></rss> 

s'il vous plaît défiler vers le bas et vous pouvez voir ce code

 <description><![CDATA[ 
    <?php character_limiter($entry->text_nw, 200); ?> 
    ]]></description> 

ici est le prob lem que ce code n'est pas acceptable dans la balise de description

+0

Que voulez-vous dire par « pas acceptable »? Non acceptable par qui? –

+0

j'écris ceci dans Eclipse, en écrivant php dans ce code il ne le rend pas comme php mais comme un simple texte, aussi en testant cette page dans le browser il analyse tout sans la description – ahmedsaber111

+1

Ainsi ceci ne fonctionne pas quand vous le tester sur un serveur live avec PHP activé? Ce serait très étrange, je ne pense pas que l'analyseur PHP écoute les tags CDATA. Hmmmm. –

Répondre

1

IIRC character_limiter() ne fait pas écho aux résultats, il suffit de les renvoyer. Alors:

1) Assurez-vous que vous avez chargé l'aide de texte dans votre contrôleur avant d'appeler cette fonction
2) essayer avec:

<description><?php echo htmlspecialchars(character_limiter($entry->text_nw, 200)); ?></description> 
+0

Merci Pekka, Damien Pirsy le problème que je n'écrivais pas l'écho avant character_limiter. maintenant tout va bien merci – ahmedsaber111