Я помню, что когда-то видел какую-то относительно не сложную проверку на разрыв парных тегов и переноса разделителя, но к сожалению не могу найти теперь тот сайт.
скрипт:
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- if($count > 6000)
- {
- else{$p=$_GET["p"];}
- // защита от ввода вместо номера страницы какой-нибудь ерунды
- if($_SERVER['QUERY_STRING']) //если есть параметры в запросе (адресной строке)
- {
- foreach($_GET as $key => $value)
- {
- //формируем строку параметров без номера страницы
- if($key !='p') $uri.="{$key}={$value}&";
- }
- }
- // если кто-то вводит номер страницы больше, чем всего у нас страниц
- if($p>$total){$p=$total;}
- print $pages[$p-1];
- #две назад
- print "<div>";
- if(($p-2)>0):
- $ptwoleft="<span id='first_page_link'><a class='first_page_link' href='?{$uri}p=".($p-
- 2)."'>".($p-2)."</a></span> ";
- else:
- $ptwoleft=null;
- endif;
- #одна назад
- if(($p-1)>0):
- $poneleft="<span id='first_page_link'><a class='first_page_link' href='?{$uri}p=".($p-
- 1)."'>".($p-1)."</a></span> ";
- $ptemp=($p-1);
- else:
- $poneleft=null;
- $ptemp=null;
- endif;
- #две вперед
- if(($p+2)<=$total):
- $ptworight=" <span id='first_page_link'><a class='first_page_link' href='?{$uri}p=".($p
- +2)."'>".($p+2)."</a></span>";
- else:
- $ptworight=null;
- endif;
- #одна вперед
- if(($p+1)<=$total):
- $poneright=" <span id='first_page_link'><a class='first_page_link' href='?{$uri}p=".($p
- +1)."'>".($p+1)."</a></span>";
- $ptemp2=($p+1);
- else:
- $poneright=null;
- $ptemp2=null;
- endif;
- # в начало
- if($p!=1 && $ptemp!=1 && $ptemp!=2):
- $prevp="<span id='first_page_link'><a href='?{$uri}p=1' class='first_page_link' title='В
- начало'><<</a></span> ";
- else:
- $prevp=null;
- endif;
- #в конец
- if($p!=$total && $ptemp2!=($total-1) && $ptemp2!=$total):
- $nextp=" ... <span id='first_page_link'><a href='?{$uri}p=".$total."'".$total."'
- class='first_page_link'>$total</a></span>";
- else:
- $nextp=null;
- endif;
- echo "<br/><div class='pagination'>".$prevp.$ptwoleft.$poneleft."<span class='nav_num_active'>".$p."</span>".$poneright.$ptworight.$nextp."</div>";
- print "</div>";
- }
- else
- {
- echo $full_article['text'];