Lo script funziona, l'ho provato ora in locale. Ricorda che devi avere un testo sufficientemente lungo ed impostare correttamente la variabile get npag per vedere gli effetti dello script.

Per esempio se usi questo script

Codice PHP:
<?

define
("X_CARATTERI",30);

ob_start();

?>

Lungo le due rive del fiume gelato si stendeva la cupa
 e tetra foresta di abeti, dai quali il vento aveva appena
 spazzato il manto di brina. Nella luce crepuscolare quegli
 abeti neri e sinistri sembravano inclinarsi l'uno verso l'altro.
 Un silenzio minaccioso incombeva sul paesaggio, privo
 di qualsiasi segno di vita o di movimento, e desolato e 
freddo al punto da non poter ispirare che un solo sentimento:
 quello della più triste malinconia. E nello stesso tempo pareva
 che da quel paesaggio trapelasse una specie di riso, un riso
 ben più spaventoso di qualsiasi malinconia o tristezza, un
 riso tragico, come quello di una sfinge, un riso agghiacciante
 più della brina e che rammendava l'incombere minaccioso
 dell'ineluttabile. Era la saggezza potente e impenetrabile
 dell'eternità che irrideva alla vita, alla sua futilità e agli sforzi
 degli uomini.

<?

$contenuti 
ob_get_clean();

if( isset(
$_GET['npag']) && is_numeric($_GET['npag']) && $_GET['npag']>){
  
$pag = (int) $_GET['npag'] - 1;
  
$len strlen($contenuti);
  if(
$len<=X_CARATTERI) echo $contenuti;
  else if(
$len >= X_CARATTERI $pag) echo substr($contenutiX_CARATTERI*$pagX_CARATTERI);
  else echo 
substr($contenutiX_CARATTERI*-1X_CARATTERI);
}
else echo 
$contenuti;

?>
invocandolo con /script.php?npag=5 ottieni questo risultato

Codice PHP:
ato il manto di brinaNella l