C O N O S C E N Z A
web data management
Il nostro è un team che si occupa ormai da piu' di un decennio della risoluzione delle problematiche informatiche, in particolare ci piace poter offrire la nostra competenza in ambito telematico, dalla progettazione su misura della vostra infrastruttura web, alla realizzazione del vostro software e dei vostri portali.
Zend Framework

Pagination single article

15/01/2010

 Paginate (page) function with specific html tag renclosing. return an array

 

Funzione paginazione (pagina) con chiusura di specifici tag html. restituisce un array

 

<?php

class PaginatePage{

        function  Paginate($page,$st,$cut){
    
            
         $page=str_replace('<br />','<p></p>', $page);
         $page=str_replace('<br>','<p></p>', $page);
        
        $contWords=strlen($page);
        $count=0;
    
        if ($contWords>$cut){
        
        while ($contWords>0){
            $count++;
 
            

                $stringA=substr($page, 0, $cut);

                  $pos=strripos($stringA, "$st");
                  
                  if (intval($pos)==0)
                  {
                  $stringA=substr($page, $cut);
                  $pos=strpos($stringA, "$st");
                  $string9=substr($page, 0, $pos+$cut);
                  $return[1]['d']=$pos;
                  $return[1]['pos']=$pos+$cut;
                  }else{
                  $string9=substr($stringA, 0, $pos);
                  $return[1]['pos']=$pos;
                  }
                  $return[1]['string']=$string9;
                  
              
            
                $string[$count]=$return[1];
                
                
        
                
                $contWords = $string[$count]['pos'];
                $page=substr($page, $contWords);
                 $string[$count]['srtrl']=strlen($page);
                 
             if ($string[$count]['string']=="" || strlen($page) < $cut){
                 $count++;
                 $string[$count]['string']=$page;
                 $string[$count]['srtrl']=strlen($page);
                  $contWords=0;
                          }
        
        }
        }else{
        $count++;
        $string[$count]['string']=$page;
        $string[$count]['srtrl']=strlen($page);
        }
        $string['TotalCount']=$count;
        
        $tags[]="h4";
        $tags[]="p";
        $tags[]="ul";
        $tags[]="ol";
        $tags[]="li";
        $tags[]="b";
        $tags[]="i";
        $tags[]="strong";

        foreach($string as $key=>$val){
            
        
            
         foreach($tags as $keys=>$tag){
            $open = substr_count($val['string'], "<$tag");
            $close = substr_count($val['string'], "</$tag");
             
            if($key > 0 && $open != $close){        
                    
                if ($open > $close){
                while($open != $close){
                $string[$key]['string'] =    $string[$key]['string']."</$tag>";
                $string[$key+1]['string'] =    "<$tag>".$string[$key+1]['string'];
                $open--;
                }
                }else{
                while($open != $close){
                
                $string[$key]['string'] =    "<$tag>".$string[$key]['string'];
                $open++;
                }
                }

            }
          }
        }
        
        
        return $string;  
       }
        
       
       
       
       
       
       
    }
    
    
    ?>