RSS中的两个CDATA选择

时间:2015-10-20 03:25:10

标签: php rss

我的RSS由PHP创建,这是我的代码

<?php
include('dataservice.php');
include('data/article.php');
include('bussiness/article.php');
function sumary($string,$len)
{
 if($len > strlen($string)){$len=strlen($string);};
$pos = strpos($string, ' ', $len);
if($pos){$string = substr($string,0,$pos);}else{$string = substr($string,0,$len);}    
return $string." ...";
}
$article = new articlebs();
$data_article = $article->Getdata(); 
$Sum = $data_article == false ? 0 : count($data_article);
if($Sum!= 0)
{
    header('Content-Type: text/xml; charset=utf-8'."\n");

    echo ('<rss xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">'."\n");
    echo ('<channel>'."\n"); 
    echo('<title>Test</title>'."\n");
    echo('<link>http://localhost</link>'."\n");
    echo('<description>Test RSS</description>'."\n");

    for($i = 0; $i < $Sum; $i++)
    {
        $Id_Article = $data_article[$i]['Id_Article'];
        $Title   = $data_article[$i]['Title'];
        $Content   = $data_article[$i]['Content'];
        $Time   = $data_article[$i]['Time'];
        $Id_User   = $data_article[$i]['Id_User'];

        preg_match('/<img.+src=[\'"](?P<src>.+)[\'"].*>/i', $Content, $image);

        $image = preg_replace( '/(width|height)="\d*"\s/', "", $image );
        $image = preg_replace( '/"/', "", $image );
        $image = preg_replace( '/height=\d*/', "", $image );
        $image = preg_replace( '/(width|height)=\d*/', "", $image );

        echo('<item>'."\n");

        echo ('<title>').$Title.('</title>'."\n");
        if( empty( $image ) )
        {
            echo  ('<image>http://localhost/images/noimg.jpg</image>'."\n");
        }
        else
        {
            echo ('<image>'). $image['src'].('</image>'."\n");
        }  
        echo ('<link><![CDATA[')."http://localhost/index.php?detail&id=".$Id_Article.(']]></link>'."\n");
        echo ('<pubDate>').$Time.('</pubDate>'."\n"); 
        echo ('<guid><![CDATA[').$Content.(']]></guid>'."\n"); 
        echo ('<description><![CDATA[');
        echo strip_tags(sumary($Content,500));
        echo (']]></description>'."\n");
        echo ('<content:encoded> <![CDATA['.$Content.']]> </content:encoded>'); 
        echo ('</item>'."\n");

    }
    echo ('</channel>'."\n");
    echo ('</rss>');
}
?>

此代码运行正常,但它出现了一些错误。我看到我的内容包括两个CDATA选择:

Two cdata

我尝试google但不是结果,请帮我解决。非常感谢你。

0 个答案:

没有答案