• User Newbie

    Suddividere il testo in più pagine

    Salve ragazzi sto cercando di suddividere in più pagine il contenuto di un file html mediante la funzione spliti('[PAGEBREAK]',$htmldata) la cui interruzione di pagine viene definita nel momento in cui si incontra il tag personalizzato [PAGEBREAK].
    Il problema consiste nel fatto che la pagine che mi prepongo di suddividre dovrebbe risultare di 8 pagine (da 0 a 7), ma il numero delle pagine di suddivisione non è sempre lo stesso, e spesso non mi si visualizza l'intero contenuto della pagina.

    [PHP]
    //path dell'articolo
    $patharticolo = $rootpath.'/articoli/'.$catarticolo.'/'.$titolo.'/index.htm';
    //apro in sola lettura l'articolo
    $filearticolo = fopen($patharticolo,'r');
    if(!$filearticolo){
    echo '<p align="center"><img src="'.$rootpath.'/immagini/icone/48x48/actions/no.png" width="48" height="48" alt="Errore"><BR>'.
    ' ERRORE: Impossibile caricare il file dell'articolo scelto!<br /></p>';
    }//if
    //acquisisco il contenuto in html dell'articolo per un massimo di 1MB di informazioni (baste ed avenza x una pagina web!)
    $htmldata = fread($filearticolo, 1024*1024);
    //chiudo la connessione con il file
    fclose($filearticolo);

    //acquisisce il numero di pagina desiderato
    if(!isset($_REQUEST['page'])){
        $page = 0;
    }else{
        $page = $_REQUEST['page'];
    }//else
    
    //divide il testo in un array di pagine
    $textarray = spliti('[PAGEBREAK]', $htmldata);
    
    //sceglie la pagina desiderata
    $htmldata = $textarray[$page];
    echo '<p align="center">Pagina '.$page.' di '.count($textarray).'</p>';
    

    [/PHP]


  • User Attivo

    Non ti visualizza l'intero contenuto della pagina perchè non si sà il numero di pagine a priori?

    Hai solo problemi nell'ultima pagina?

    Il punto di splittamento del testo lo inserisci tu nel database oppure hai preimpostato quanto vuoi lunga una pagina conti le parole, inserisci il punto di split e quindi splitti?


  • User Newbie

    @MZ said:

    Non ti visualizza l'intero contenuto della pagina perchè non si sà il numero di pagine a priori?
    Il numero di pagine lo si determina automaticamente con la funzione count dato che uso un array

    Hai solo problemi nell'ultima pagina?
    Il problema si presenta in diverse pagine, di cui alcune a volte non si visualizza il contenuto.

    Il punto di splittamento del testo lo inserisci tu nel database oppure hai preimpostato quanto vuoi lunga una pagina conti le parole, inserisci il punto di split e quindi splitti?*
    Il punto di interruzione pagina lo si determina nel momento in cui si incontra il tag personalizzato [PAGEBREAK]
    *

    z