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