четверг, 2 февраля 2012 г.

class myHtmlFile

<?php
    //require('myfunction.php');
    //print getBlank('blank.html');
    
    $blankHtml = new myHtmlFile('blank.html');
    //echo $blankHtml->getRemContent("<!--postDivBegin-->", "<!--postDivEnd-->");
    echo $blankHtml->getDivContent("<!--postDivBegin-->", "<!--postDivEnd-->");

    
class myHtmlFile{
    private $fileContent = '';
      private $fileName = '';

    public function getDivContent($beginRem='', $endRem='', $textContent=''){
    $a = $this->getDivContentArray($beginRem, $endRem, $textContent);
    return $a['divContent'];
    }

    public function getRemContent($beginRem='', $endRem='', $textContent=''){
    $a = $this->getRemContentArray($beginRem, $endRem, $textContent);
    return $a['blockContent'];
    }

    private function getDivContentArray($beginRem='', $endRem='', $textContent=''){
        $parseText=$this->getRemContent($beginRem, $endRem, $textContent);
        $divGT = strpos($parseText, '>', 0) + 1;
        $divLT = strrpos($parseText, '<');
        if($divGT < 2 || $divLT < $divGT){ exit ('Exit: &gt or &lt for (DIV) not found in '.$this->fileName); }
    $result = array();
    $result['parseText'] = $parseText;
    $result['firstPosOfDivContent'] = $divGT;
    $result['lengthOfDivContent'] = $divLT - $divGT;
    $result['divContent'] = substr($result['parseText'], $result['firstPosOfDivContent'], $result['lengthOfDivContent']);
    return $result;      
    }
    
  private function getRemContentArray($beginRem='', $endRem='', $textContent=''){
        if ($textContent==''){$textContent=$this->fileContent;}
        $remContentBegin = strpos($textContent, $beginRem, 0);
        $remContentEnd = strpos($textContent, $endRem, $remContentBegin + 1);
        if($remContentBegin < 1 || $remContentEnd < $remContentBegin){ exit ('Exit: '.str_replace('<', '&lt', $beginRem).' or '.str_replace('<', '&lt', $endRem).' not found in '.$this->fileName);}
    $result = array();
    $result['textContent'] = $textContent;
    $result['firstPosOfBlock'] = $remContentBegin + strlen($beginRem);
    $result['lengthOfBlock'] = $remContentEnd - $remContentBegin - strlen($endRem) - 2;            
        $result['blockContent'] = substr($result['textContent'], $result['firstPosOfBlock'], $result['lengthOfBlock']);
        return $result;
    }
        
    
      public function __construct( $fileName ) {
        $this->fileName = $fileName;
        $this->fileContent = file_get_contents( $fileName );
    }
    
    function __invoke(){
        echo $this->fileContent;
    }
    function __toString(){
        return $this->fileContent;
    }
    function __destruct(){
        $this->fileContent = '';
    }
}

        //$divLT = strrpos($divText, '<') - 1;
        //$divLT = strrchr($divText, 60);
        //echo $divGT.'<br>'; echo $divLT.'<br>'; echo strlen($divText);
    //echo strrchr('aaaaaaaaa<aaaaaaaaaaaaa', 60);
    //echo strrpos('bbbbbbbbbb<bbbbbbbbbbbb', '<');
    //echo $divLT;
    //exit();
    //$temp = $blankHtml->returnRemContent("<!--postDivBegin-->", "<!--postDivEnd-->");
    //for ($i=500;$i<strlen($temp);$i++){
    //    $st = substr($temp,$i,1);
    //    echo $i.' '.$st.' '.ord($st).'<br>';
    //}
    //echo $temp;
    //echo $blankHtml->returnDivContent("<!--postDivBegin-->", "<!--postDivEnd-->");

    ///pirms serializacijas (serialize)
    ///function __sleep(){
    ///
    ///}
    ///pec serializacijas (unserialize)
    ///function __wakeup(){
    ///
    ///}
    ///privatam funkcijam name (nedarbojas uz statiskam klassem)
    ///function __call($name, $arguments){
    ///    
    ///}
    ///privatam funkcijam static tipa
    ///function _callStatic($name, $arguments){
    ///    
    ///}
    ///Privatas оpaрibas; vзrtоbas
    ///function __get($name){
    ///    
    ///}
    ///Privatas оpaрibas; vзrtоbas
    ///function __set($name,$value){
    ///    
    ///}
    ///Privatas оpaрibas; true/false
    ///function __isset($name){
    ///    return obligвts
    ///}
    ///Privatas оpaрibas; true/false
    ///function __unset($name){
    ///    return obligвts
    ///}
    ///Tiek izsaukt klonam pзc klonзрanas
    ///function __clone(){
    ///    
    ///}
?>
    
   

Комментариев нет:

Отправить комментарий