|
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; } } ?>
|