All pastes #614984 Raw Edit

Something

public php v1 · immutable
·published 2007-07-11 21:43 UTC
rendered paste body
<?php    set_time_limit(500);    ## find everything before    function FindAllBefore($str, $delimit) {	if(strpos($str, $delimit) == false) { return false; }	else {	   $pos1 = 0;	   $pos2 = strpos($str, $delimit);	   return substr($str, $pos1, $pos2);      }        }    ## find everything before, including    function FindAllBeforeIncluding($str, $delimit) {	if(strpos($str, $delimit) == false) { return false; }	else {	   $pos1 = 0;	   $pos2 = strpos($str, $delimit)+strlen($delimit);	   return substr($str, $pos1, $pos2);      }        }    ## find everything after    function FindAllAfter($str, $delimit) {	if(strpos($str, $delimit) == false) { return false; }	else {	   $pos1 = strpos($str, $delimit)+strlen($delimit);	   $pos2 = strlen($str);	   return substr($str, $pos1, $pos2);      }        }    ## find everything after, including    function FindAllAfterIncluding($str, $delimit) {	if(strpos($str, $delimit) == false) { return false; }	else {	   $pos1 = strpos($str, $delimit);	   $pos2 = strlen($str);	   return substr($str, $pos1, $pos2);      }        }        ## find inside, including    function FindInsideIncluding($str, $start, $end) {	if(strpos($str, $start) == false) { return false; }	else if (strpos($str, $end) == false) { return false; }	else {	   $pos1 = strpos($str, $start);	   $pos2 = strpos(FindAllAfter($str, $start), $end)+strlen($end)+strlen($start);	   return substr($str, $pos1, $pos2);      }        }            ## find inside    function FindInside($str, $start, $end) {	if(strpos($str, $start) == false) { return false; }	else if (strpos($str, $end) == false) { return false; }	else {	   $pos1 = strpos($str, $start)+strlen($start);	   $pos2 = strpos(FindAllAfter($str, $start), $end);	   return substr($str, $pos1, $pos2);      }        }    abstract class Parser {		protected $content;	protected $pageUrl;		public function __construct($url) {	    $this->setUrl($url);	    $this->content = $this->getPage();	}		public function setUrl( $url ) {	    	    if(!empty($url)) {		$this->pageUrl = (string) $url;	    }	    	}		public function getUrl() {	    return $this->pageUrl;	}		private function getPage() {	    return file_get_contents($this->pageUrl);	}		public function getContent() {	    //echo $this->content;	    return $this->content;   	}		abstract function parse();	    }            class YahooTravel extends Parser {		public function parse() {	    	}	    }        $y = new YahooTravel('http://travel.yahoo.com/p-reviews-322437-prod-hotel-action-read-ratings_and_reviews-i;_ylt=AioDJMcIYnfZ0KDjF86t4gniphQB');    $html = $y->getContent();        $i = 0;        while( FindInsideIncluding($html, '<div class="usrrvw">', '</div>')) {	$reviews[] = FindInsideIncluding($html, '<div class="me">', '</div>');	$i++;		$html = str_replace($str, '', $html);		if($i == 10) {	    break;	}	    }        print_r($reviews);?>// returnsArray ( [0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => [8] => [9] => )