日期:2013-03-23 浏览次数:20424 次
<?php
class Thief{
// 需要得到数据的网址
var $URL;
// 需要分析的开始标记
var $startFlag;
//需要分析的结束标记
var $endFlag;
//存储图片的路径
var $saveImagePath;
//访问图片的路径
var $imageURL;
// 列表内容
var $ListContent;
//需要获得的图片路径
var $ImageList;
//存储的图片名称
var $FileName;
/**
* 得到页面内容
* @return String 列表页面内容
*/
function getPageContent ()
{
$pageContent = @file_get_contents( $this->URL );
return $pageContent;
}
/**
* 根据标记得到列表段
* @param $content 页面源数据
* @return String 列表段内容
*/
function getContentPiece ( $content )
{
$content = $this->getContent( $content, $this->startFlag, $this->endFlag );
if(!$content) $content=$this->cut ($content, $this->startFlag, $this->endFlag );
return $content;
}
/**
* 得到一个字符串中的某一部分
* @param $sourceStr 源数据
* @param $startStr 分离部分的开始标记
* @param $endStart 分离部分的结束标记
* @return boolean 操作成功返回true
*/
function getContent ( $sourceStr, $startStr, $endStart )
{
$s = preg_quote( decode( $startStr ) );
$e = preg_quote( decode( $endStart ) );
$s = str_replace( " ", "[[:space:]]", $s );
$e = str_replace( " ", "[[:space:]]", $e );
$s = str_replace( "\r\n", "[[:cntrl:]]", $s );
$e = str_replace( "\r\n", "[[:cntrl:]]", $e );
preg_match_all( "@" . $s . "(.*?)". $e ."@is", $sourceStr, $tpl );
$content = $tpl[1];
$content = implode( "", $content );
return $content;
}
function cut ( $sourceStr, $startStr, $endStr )
{
return cut( $sourceStr ,decode( $startStr ) ,decode( $endStr) );
}
/**
* 得到只含有连接和内容的列表数组
* @param $sList 页面列表源数据
* @return array 列表段内容
*/
function getSourceList ( $sList )
{
preg_match_all( "/<a[[:space:]](.*?)<\/a>/i", $sList, $list );
$list = $list[0];
//foreach($list as $l) echo $l;
&nb