好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php 完美的rss 生成类 - php类库

php 完美的rss 生成类

<?php  class  rssGenerator_rss  {       var   $rss_version  =  '2.0' ;       var   $encoding  =  '' ;       var   $stylesheet  =  '' ;         function  cData( $str )      {           return   '<![CDATA[ '  .  $str  .  ' ]]>' ;      }         function  createFeed( $channel )      {           $selfUrl  = (!isset( $_SERVER [ 'HTTPS' ]) ||  $_SERVER [ 'HTTPS' ] !=  'on'  ?  'http://'  :  'https教程://' );           $selfUrl  .=  $_SERVER [ 'HTTP_HOST' ] .  $_SERVER [ 'PHP_SELF' ];           $rss  =  '<?xml version="1.0"' ;           if  (! empty empty ( $this ->encoding)) {               $rss  .=  ' encoding="'  .  $this ->encoding .  '"' ;          }           $rss  .=  '?>'  .  " " ;           if  (! empty empty ( $this ->stylesheet)) {               $rss  .=  $this ->stylesheet .  " " ;          }           $rss  .=  '<!-- Generated on '  .  date ( 'r' ) .  ' -->'  .  " " ;           $rss  .=  '<rss version="'  .  $this ->rss_version .  '" xmlns:atom="http://HdhCmsTestw3.org/2005/Atom">'  .  " " ;           $rss  .=  '  <channel>'  .  " " ;        $rss  .=  '    <atom:link href="'  . ( $channel ->atomLinkHref ?  $channel ->atomLinkHref :  $selfUrl ) .  '" rel="self" type="application/rss+xml" />'  .  " " ;           $rss  .=  '    <title>'  .  $channel ->title .  '</title>'  .  " " ;           $rss  .=  '    <link>'  .  $channel ->link .  '</link>'  .  " " ;           $rss  .=  '    <description>'  .  $channel ->description .  '</description>'  .  " " ;           if  (! empty empty ( $channel ->language)) {               $rss  .=  '    <language>'  .  $channel ->language .  '</language>'  .  " " ;          }           if  (! empty empty ( $channel ->copyright)) {               $rss  .=  '    <copyright>'  .  $channel ->copyright .  '</copyright>'  .  " " ;          }           if  (! empty empty ( $channel ->managingEditor)) {               $rss  .=  '    <managingEditor>'  .  $channel ->managingEditor .  '</managingEditor>'  .  " " ;          }           if  (! empty empty ( $channel ->webMaster)) {               $rss  .=  '    <webMaster>'  .  $channel ->webMaster .  '</webMaster>'  .  " " ;          }           if  (! empty empty ( $channel ->pubDate)) {               $rss  .=  '    <pubDate>'  .  $channel ->pubDate .  '</pubDate>'  .  " " ;          }           if  (! empty empty ( $channel ->lastBuildDate)) {               $rss  .=  '    <lastBuildDate>'  .  $channel ->lastBuildDate .  '</lastBuildDate>'  .  " " ;          }           foreach  ( $channel ->categories  as   $category ) {               $rss  .=  '    <category' ;               if  (! empty empty ( $category [ 'domain' ])) {                   $rss  .=  ' domain="'  .  $category [ 'domain' ] .  '"' ;              }               $rss  .=  '>'  .  $category [ 'name' ] .  '</category>'  .  " " ;          }           if  (! empty empty ( $channel ->generator)) {               $rss  .=  '    <generator>'  .  $channel ->generator .  '</generator>'  .  " " ;          }           if  (! empty empty ( $channel ->docs)) {               $rss  .=  '    <docs>'  .  $channel ->docs .  '</docs>'  .  " " ;          }           if  (! empty empty ( $channel ->ttl)) {               $rss  .=  '    <ttl>'  .  $channel ->ttl .  '</ttl>'  .  " " ;          }           if  (sizeof( $channel ->skipHours)) {               $rss  .=  '    <skipHours>'  .  " " ;               foreach  ( $channel ->skipHours  as   $hour ) {                   $rss  .=  '      <hour>'  .  $hour  .  '</hour>'  .  " " ;              }               $rss  .=  '    </skipHours>'  .  " " ;          }           if  (sizeof( $channel ->skipDays)) {               $rss  .=  '    <skipDays>'  .  " " ;               foreach  ( $channel ->skipDays  as   $day ) {                   $rss  .=  '      <day>'  .  $day  .  '</day>'  .  " " ;              }               $rss  .=  '    </skipDays>'  .  " " ;          }           if  (! empty empty ( $channel ->image)) {               $image  =  $channel ->image;               $rss  .=  '    <image>'  .  " " ;               $rss  .=  '      <url>'  .  $image ->url .  '</url>'  .  " " ;               $rss  .=  '      <title>'  .  $image ->title .  '</title>'  .  " " ;               $rss  .=  '      <link>'  .  $image ->link .  '</link>'  .  " " ;               if  ( $image ->width) {                   $rss  .=  '      <width>'  .  $image ->width .  '</width>'  .  " " ;              }               if  ( $image ->height) {                   $rss  .=  '      <height>'  .  $image ->height .  '</height>'  .  " " ;              }               if  (! empty empty ( $image ->description)) {                   $rss  .=  '      <description>'  .  $image ->description .  '</description>'  .  " " ;              }               $rss  .=  '    </image>'  .  " " ;          }           if  (! empty empty ( $channel ->textInput)) {               $textInput  =  $channel ->textInput;               $rss  .=  '    <textInput>'  .  " " ;               $rss  .=  '      <title>'  .  $textInput ->title .  '</title>'  .  " " ;               $rss  .=  '      <description>'  .  $textInput ->description .  '</description>'  .  " " ;               $rss  .=  '      <name>'  .  $textInput ->name .  '</name>'  .  " " ;               $rss  .=  '      <link>'  .  $textInput ->link .  '</link>'  .  " " ;               $rss  .=  '    </textInput>'  .  " " ;          }           if  (! empty empty ( $channel ->cloud_domain) || ! empty empty ( $channel ->cloud_path) || ! empty empty ( $channel ->cloud_registerProcedure) || ! empty empty ( $channel ->cloud_protocol)) {               $rss  .=  '    <cloud domain="'  .  $channel ->cloud_domain .  '" ' ;               $rss  .=  'port="'  .  $channel ->cloud_port .  '" path="'  .  $channel ->cloud_path .  '" ' ;               $rss  .=  'registerProcedure="'  .  $channel ->cloud_registerProcedure .  '" ' ;               $rss  .=  'protocol="'  .  $channel ->cloud_protocol .  '" />'  .  " " ;          }           if  (! empty empty ( $channel ->extraXML)) {               $rss  .=  $channel ->extraXML .  " " ;          }           foreach  ( $channel ->items  as   $item ) {               $rss  .=  '    <item>'  .  " " ;               if  (! empty empty ( $item ->title)) {                   $rss  .=  '      <title>'  .  $item ->title .  '</title>'  .  " " ;              }               if  (! empty empty ( $item ->description)) {                   $rss  .=  '      <description>'  .  $item ->description .  '</description>'  .  " " ;              }               if  (! empty empty ( $item ->link)) {                   $rss  .=  '      <link>'  .  $item ->link .  '</link>'  .  " " ;              }               if  (! empty empty ( $item ->pubDate)) {                   $rss  .=  '      <pubDate>'  .  $item ->pubDate .  '</pubDate>'  .  " " ;              }               if  (! empty empty ( $item ->author)) {                   $rss  .=  '      <author>'  .  $item ->author .  '</author>'  .  " " ;              }               if  (! empty empty ( $item ->comments)) {                   $rss  .=  '      <comments>'  .  $item ->comments .  '</comments>'  .  " " ;              }               if  (! empty empty ( $item ->guid)) {                   $rss  .=  '      <guid isPermaLink="' ;                   $rss  .= ( $item ->guid_isPermaLink ?  'true'  :  'false' ) .  '">' ;                   $rss  .=  $item ->guid .  '</guid>'  .  " " ;              }               if  (! empty empty ( $item ->source)) {                   $rss  .=  '      <source url="'  .  $item ->source_url .  '">' ;                   $rss  .=  $item ->source .  '</source>'  .  " " ;              }               if  (! empty empty ( $item ->enclosure_url) || ! empty empty ( $item ->enclosure_type)) {                   $rss  .=  '      <enclosure url="'  .  $item ->enclosure_url .  '" ' ;                   $rss  .=  'length="'  .  $item ->enclosure_length .  '" ' ;                   $rss  .=  'type="'  .  $item ->enclosure_type .  '" />'  .  " " ;              }               foreach  ( $item ->categories  as   $category ) {                   $rss  .=  '      <category' ;                   if  (! empty empty ( $category [ 'domain' ])) {                       $rss  .=  ' domain="'  .  $category [ 'domain' ] .  '"' ;                  }                   $rss  .=  '>'  .  $category [ 'name' ] .  '</category>'  .  " " ;              }               $rss  .=  '    </item>'  .  " " ;          }           $rss  .=  '  </channel>'  .  " " ;           return   $rss  .=  '</rss>' ;      }    }    class  rssGenerator_channel  {       var   $atomLinkHref  =  '' ;       var   $title  =  '' ;       var   $link  =  '' ;       var   $description  =  '' ;       var   $language  =  '' ;       var   $copyright  =  '' ;       var   $managingEditor  =  '' ;       var   $webMaster  =  '' ;       var   $pubDate  =  '' ;       var   $lastBuildDate  =  '' ;       var   $categories  =  array ();       var   $generator  =  '' ;       var   $docs  =  '' ;       var   $ttl  =  '' ;       var   $image  =  '' ;       var   $textInput  =  '' ;       var   $skipHours  =  array ();       var   $skipDays  =  array ();       var   $cloud_domain  =  '' ;       var   $cloud_port  =  '80' ;       var   $cloud_path  =  '' ;       var   $cloud_registerProcedure  =  '' ;       var   $cloud_protocol  =  '' ;       var   $items  =  array ();       var   $extraXML  =  '' ;    }    class  rssGenerator_image  {       var   $url  =  '' ;       var   $title  =  '' ;       var   $link  =  '' ;       var   $width  =  '88' ;       var   $height  =  '31' ;       var   $description  =  '' ;    }    class  rssGenerator_textInput  {       var   $title  =  '' ;       var   $description  =  '' ;       var   $name  =  '' ;       var   $link  =  '' ;    }    class  rssGenerator_item  {       var   $title  =  '' ;       var   $description  =  '' ;       var   $link  =  '' ;       var   $author  =  '' ;       var   $pubDate  =  '' ;       var   $comments  =  '' ;       var   $guid  =  '' ;       var   $guid_isPermaLink  = true;       var   $source  =  '' ;       var   $source_url  =  '' ;       var   $enclosure_url  =  '' ;       var   $enclosure_length  =  '0' ;       var   $enclosure_type  =  '' ;       var   $categories  =  array ();    }  //开源代码phpfensi测试数据   ?> 

php使用实例如下:

<?php  require_once   'rss_generator.inc.php' ;  $rss_channel  =  new  rssGenerator_channel();  $rss_channel ->atomLinkHref =  '' ;  $rss_channel ->title =  'My News' ;  $rss_channel ->link =  'http://phpfensi测试数据/news.php' ;  $rss_channel ->description =  'The latest news about web-development.' ;  $rss_channel ->language =  'en-us' ;  $rss_channel ->generator =  'PHP RSS Feed Generator' ;  $rss_channel ->managingEditor =  'editor@mysite测试数据 (Alex Jefferson)' ;  $rss_channel ->webMaster =  'webmaster@mysite测试数据 (Vagharshak Tozalakyan)' ;    $item  =  new  rssGenerator_item();  $item ->title =  'New website launched' ;  $item ->description =  'Today I finaly launch a new website.' ;  $item ->link =  'http://phpfensi测试数据' ;  $item ->guid =  'http://phpfensi测试数据' ;  $item ->pubDate =  'Tue, 07 Mar 2006 00:00:01 GMT' ;  $rss_channel ->items[] =  $item ;    $item  =  new  rssGenerator_item();  $item ->title =  'Another website launched' ;  $item ->description =  'Just another website launched.' ;  $item ->link =  'http://phpfensi测试数据' ;  $item ->guid =  'http://phpfensi测试数据' ;  $item ->pubDate =  'Wed, 08 Mar 2006 00:00:01 GMT' ;  $rss_channel ->items[] =  $item ;    $rss_feed  =  new  rssGenerator_rss();  $rss_feed ->encoding =  'UTF-8' ;  $rss_feed ->version =  '2.0' ;  header( 'Content-Type: text/xml' );  echo   $rss_feed ->createFeed( $rss_channel );  ?> 

查看更多关于php 完美的rss 生成类 - php类库的详细内容...

  阅读:40次