Initial import.
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
<?php
|
||||
/*****************************
|
||||
* Blockstring Class by JPT *
|
||||
* http://jpt.de.tf *
|
||||
* to be used as a buffer *
|
||||
*****************************/
|
||||
class blockstring{
|
||||
|
||||
public $endl;
|
||||
|
||||
private $datapool;
|
||||
|
||||
function __construct($endl){
|
||||
$this -> datapool = "";
|
||||
$this -> endl = $endl;
|
||||
}
|
||||
|
||||
public function addData($data){
|
||||
$this -> datapool .= $data.$this -> endl; //We add the endl to the end of each block of data due to some cutting issues..
|
||||
}
|
||||
|
||||
public function isFull(){
|
||||
return (trim($this -> datapool) != "") ? true : false;
|
||||
}
|
||||
|
||||
public function gotLine(){
|
||||
return ($this -> isFull() && (preg_match("/".$this -> endl."/", $this -> datapool))) ? true : false;
|
||||
}
|
||||
|
||||
public function getLineArray(){
|
||||
if(!$this -> isFull()) return false;
|
||||
$pool = $this -> datapool; //Copy our original pool
|
||||
$lines = explode($this -> endl, $pool); //explode by endline...
|
||||
unset($pool);
|
||||
//clean up all lines
|
||||
foreach($lines as $key => $line){
|
||||
$line = $this -> stripLine($line);
|
||||
if(trim($line) != "") $lines[$key] = $line;
|
||||
}
|
||||
return $lines;
|
||||
}
|
||||
|
||||
public function getNextLine(){
|
||||
if(!$this -> gotLine()) return false;
|
||||
$expl = explode($this -> endl, $this -> datapool); //explode by endline...
|
||||
$line = $expl[0]; //...to get next line from datapool
|
||||
//Kill the fetched line
|
||||
unset($expl[0]);
|
||||
$this -> datapool = implode($this -> endl, $expl);
|
||||
|
||||
$line = $this -> stripLine($line); //clean up gained line
|
||||
if($line == "") return $this -> getNextLine();
|
||||
return $line;
|
||||
}
|
||||
|
||||
public function countLines(){
|
||||
$count = count($this -> getLineArray());
|
||||
return $count;
|
||||
}
|
||||
|
||||
public function stripLine($line){
|
||||
$replace = array("\r","\n","\0");
|
||||
$line = str_replace($replace,"",$line);
|
||||
$line = trim($line);
|
||||
return $line;
|
||||
}
|
||||
|
||||
public function clear(){
|
||||
unset($this -> datapool);
|
||||
$this -> datapool = "";
|
||||
}
|
||||
|
||||
function __destruct(){
|
||||
unset($this -> datapool);
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user