Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1

    Tagliare testo in modo corretto

    Ragazzi ho l'esigenza di dividere una quantità di testo, ad esempio 1000 parole, e dividere il testo in 2 pagine da 500.

    Come posso farlo? ah dimenticavo, il testo è recuperato da un db.

  2. #2
    io ti consiglio di utilizzare un trucchetto.

    Inventati un tag tuo specifico da posizionare opportunamente nel tuo markup (html); ad esempio:

    codice:
    <page_divisore />
    Dopodichè esegui un explode di su tale tag:
    Codice PHP:
    <?php
    $array_pagine 
    explode('<page_divisore />'$testo_proveniente_da_db);
    $numero_pagine count($array_pagine);
    if(isset(
    $_GET['page']) AND array_key_exists($_GET['page'], $array_pagine)){
    echo 
    $array_pagine[$_GET['page']];
    }
    else{
    echo 
    $array_pagine[0];
    }
    ?>
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  3. #3
    fantastico, funziona a meraviglia oly1982, come sempre mi risolvi il tutto tu, ti dovrebbero farlo una statua. Ti chiedo un ultima cosa, anche se ho aperto la dimanda già
    http://forum.html.it/forum/showthrea...readid=1457087, sai come posso risolvere?

    Grazie mille!!!

  4. #4
    oly ma se invece dovessi proprio tagliare il testo ogni 600 caratteri, come posso fare?

  5. #5
    Io esploderei il testo per gli spazi bianchi, ottenendo un array delle parole del testo.
    Spezzerei l'array ogni 600 righi, quindi ricomporrei una stringa con i vari pezzi dei vari array implodendo con uno spazio.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  6. #6
    un esempio grazie!!

  7. #7
    Credevo fosse piuttosto chiaro.
    Comunque, per capirci:

    Codice PHP:
    $testo "
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum dictum consectetur dignissim. Donec eu neque vel felis euismod condimentum et sed purus. Etiam ac ipsum eu turpis venenatis blandit. Pellentesque venenatis euismod magna, vitae imperdiet eros dictum id. Duis vitae magna magna, a sollicitudin nisl. Vestibulum pretium leo eget mi feugiat at dictum ligula gravida. Integer elementum ornare egestas. Aliquam cursus velit vel elit gravida tempor. Sed quis lobortis lectus. Donec mattis risus in magna scelerisque non consequat ante dictum. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla scelerisque, neque vitae placerat euismod, risus massa bibendum sem, ac euismod dolor urna quis felis. Praesent aliquam turpis non orci pellentesque dictum. Pellentesque mollis orci non massa tempus et porta magna dignissim. Lorem ipsum dolor sit amet, consectetur adipiscing elit. 

     Praesent tincidunt, felis in placerat vehicula, enim erat venenatis turpis, non posuere sapien tellus et arcu. Sed quis malesuada est. Nulla vitae quam vel nisi dignissim commodo nec vel tortor. Quisque nibh sapien, mollis id porta vel, adipiscing sed nibh. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ut porta ligula. Phasellus in orci libero. Pellentesque condimentum enim eu neque iaculis eleifend. Donec in lorem orci. Pellentesque velit neque, porttitor sed consequat ut, faucibus pulvinar velit. Phasellus pretium luctus leo, at iaculis justo cursus ac. Phasellus sit amet mi ac purus pulvinar luctus. Proin porttitor arcu et enim feugiat mattis.
    "
    ;
    // crei un array di parole, splittando per gli spazi bianchi
    $array_parole explode(" "$testo);

    // splitti l'array di parole in chunk di X righi
    // in questo esempio metteremo 50 righi ( = 50 parole)
    // $chunk sarà un array di array
    $chunk array_chunk($array_parole50);

    // cicliamo l'array e creiamone un altro
    // per ogni chunk di parole, farò un implode e ricostruirò 
    // una stringa di testo. Ogni stringa la salverò in un array
    $testi_per_pagina = array();

    foreach(
    $chunk AS $rigo) {
     
    $testi_per_pagina[] = implode(" "$rigo);
    }

    // se sei nella prima pagina puoi fare così:
    echo $testi_per_pagina[0]; 
    In questo modo si è ottenuto un array di stringhe di testo.
    Ogni rigo dell'array sarà il testo separato da inserire nelle varie pagine di cui vuoi comporre il tuo script.
    Puoi salvare questo array (per esempio) in una sessione e poi richiamare solo il rigo che ti interessa con un riferimento via GET.

    p.s. Il codice non è testato, e l'ho scritto qui di getto.
    Non garantisco che non ci siano errori di battitura
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  8. #8
    Cìè una sola controindicazione in questo metodo: le frasi possono venire tagliate.
    Se fai uno spit per il carattere di punto, otterrai un array di frasi compiute, però non potrai conteggiare le parole esatte.
    Sta a te decidere quale sia il metodo migliore.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  9. #9
    ok e per fare una paginazione avanti e indietro da aggiungere cosi da scorrere tutto il testo, come posso farlo? giurò è l'ultima cosa che ti chiedo.

  10. #10
    Ci sono diversi modi per fare una paginazione funzionante.
    Cerca nel forum per la parola "paginazione" e trovi davvero molti thread che ne discutono!

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.