⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rss_readbak.php

📁 自己写的一个网络日志(BLOG)系统
💻 PHP
字号:
<?php
/**
*  Copyright (c) 2003-07  PHPWind.net. All rights reserved.
*  Write by xuanyan@2006-9-23	-	xuanyan1983@gmail.com
*/
!function_exists('readover') && exit('Forbidden');

class RssRead{
	var $items=array();
	var $items_data=array();
	var $charset;
	var $num=1;
	function RssRead($filename,$type='RSS'){
		$xml_parser = substr(PHP_VERSION,0,1)>4 ? @xml_parser_create('UTF-8') : @xml_parser_create();
		@xml_parse_into_struct($xml_parser,$this->read_file($filename),$this->items_data);
		xml_parser_free($xml_parser);
		if ($type=='RSS') {
			$this->get_items($this->items_data);
		} elseif ($type=='OBLOG') {
			$this->get_oblog($this->items_data);
		} elseif ($type=='BLOGBUS') {
			$this->get_blogbus($this->items_data);
		}
	}
	function read_file($filename){
		$first = '';
		set_time_limit(60);
		$ary_lines = @file($filename);
		$i = 0;
		while (empty($first)) {
			$first = $ary_lines[$i++];
		}
		strpos(strtoupper($first),"UTF")!== false && $this->charset='UTF';
		$contents = implode($ary_lines);
		return $contents;
	}
	function get_items($data){
		$imgmark  = false;
		$headmark = false;
		$itemmark = false;
		foreach ($data as $xml_elem) {
			if ($xml_elem['tag']=='CHANNEL') {
				if ($xml_elem['type']=='open') {
					$headmark = true;
				} elseif ($xml_elem['type']=='close') {
					$headmark = false;
				}
				continue;
			} elseif ($xml_elem['tag']=='ITEM') {
				$headmark == true && $headmark = false;
				if ($xml_elem['type']=='open') {
					$itemmark = true;
				} elseif ($xml_elem['type']=='close') {
					$headmark == false && $headmark = true;
					$itemmark = false;
					$this->num++;
				}
				continue;
			} elseif ($xml_elem['tag']=='IMAGE') {
				if ($xml_elem['type']=='open') {
					$headmark == true && $headmark = false;
					$imgmark = true;
				} elseif ($xml_elem['type']=='close') {
					$headmark == false && $headmark = true;
					$imgmark = false;
				}
				continue;
			} else {
				$itemmark && $this->items['ITEM'][$this->num][$xml_elem['tag']] = $xml_elem['value'];
				$headmark && empty($this->items[$xml_elem['tag']]) && $this->items[$xml_elem['tag']] = $xml_elem['value'];
				$imgmark && $this->items['IMAGE'][$xml_elem['tag']] = $xml_elem['value'];
			}
		}
	}
	function get_oblog($data){
		$itemmark = false;
		foreach ($data as $xml_elem) {
			if ($xml_elem['tag']=='LOG') {
				if ($xml_elem['type']=='open') {
					$itemmark = true;
				} elseif ($xml_elem['type']=='close') {
					$itemmark = false;
					$this->num++;
				} elseif ($xml_elem['type']=='cdata') {
					$this->items['ITEM'][$this->num]['DESCRIPTION'] = $xml_elem['value'];
				}
				continue;
			} else {
				$itemmark && $this->items['ITEM'][$this->num][$xml_elem['tag']] = $xml_elem['value'];
			}
		}
	}
	function get_blogbus($data){
		$itemmark = false;
		foreach ($data as $xml_elem) {
			if ($xml_elem['tag']=='LOG') {
				if ($xml_elem['type']=='open') {
					$itemmark = true;
				} elseif ($xml_elem['type']=='close') {
					$itemmark = false;
					$this->num++;
				}
				continue;
			} else {
				if ($itemmark) {
					switch ($xml_elem['tag']) {
						case 'LOGDATE':
							$this->items['ITEM'][$this->num]['PUBDATE'] = $xml_elem['value'];
							break;
						case 'CONTENT':
							$this->items['ITEM'][$this->num]['DESCRIPTION'] = $xml_elem['value'];
							break;
						default:
							$this->items['ITEM'][$this->num][$xml_elem['tag']] = $xml_elem['value'];
					}
				}
			}
		}
	}

};
?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -