Visualizzazione risultati 1 fino 11 di 11

Discussione: Dividere il testo in più parti

  1. #1
    Guest

    Predefinito Dividere il testo in più parti

    Ciao a tutti, dovrei creare uno script che avendo un testo molto lungo lo divida in più parti per poi andare a capo.
    Sapete darmi qualche consiglio...
    Grazie ^^

  2. #2
    Guest

    Predefinito

    troppo generico ciò che chiedi. Devi dare + info.

    Il testo è formattato X/HTML? ... in tal caso è complicatuccio
    Si tratta di testo semplice e vuoi dividerlo in pagine... molto + semplice
    devi sfruttare alcune funzioni. Ti faccio un esempio:
    Codice PHP:
    <?php
    $stringa
    = 'ciao e benvenuto sul forum di altervista dove miniscript spera ti possa dare una mano a capire come risolvere il tuo problema';
    $lunghezza_stringa = (isset($stringa) AND is_string($stringa)) ? strlen($stringa) : 0;
    $lunghezza_stringa_di_ogni_pagina = 20;
    $numero_pagine = ceil($lunghezza_stringa/$lunghezza_stringa_di_ogni_pagina);
    $pagina_corrente = isset($_GET['pg']) ? intval($_GET['pg']) : 1;
    $start_substring = ($pagina_corrente-1) * $lunghezza_stringa_di_ogni_pagina;
    $contenuto_pagina = substr($stringa, $start_substring, $lunghezza_stringa_di_ogni_pagina);

    echo
    '<h1>' . $contenuto_pagina . '</h1>';
    if(
    $numero_pagine>0)
    {
    echo
    '<h2>Pagine:</h2>';
    for(
    $i=1; $i<=$numero_pagine; $i++)
    {
    $style_page = ($pagina_corrente==$i) ? "color: red;" : "color: blue;";
    echo
    '<a href="'.$_SERVER['PHP_SELF'].'?pg=' . $i .'" style="' . $style_page . '">' . $i . '</a> | ';
    }
    }
    ?>

  3. #3
    Guest

    Predefinito

    Ti ringrazio di aver risposto ma non intendevo questo...
    Ad esempio ho un testo molto lungo vorrei che ogni 50 caratteri vada a capo senza tagliare la parola....

  4. #4
    programmazioned non è connesso Utente attivo
    Data registrazione
    25-03-2008
    Messaggi
    440

    Predefinito

    wordwrap() - vedi pure le note.

    Saluti!
    Ultima modifica di programmazioned : 05-03-2011 alle ore 12.33.27

  5. #5
    Guest

    Predefinito

    Ti ringrazio ma ce un problema se passo un codice html da stampare anche quello viene diviso, come posso fare che non avvenga, e mi divida solo il testo...

  6. #6
    Guest

    Predefinito

    Citazione Originalmente inviato da hotmailpower Visualizza messaggio
    Ti ringrazio ma ce un problema se passo un codice html da stampare anche quello viene diviso, come posso fare che non avvenga, e mi divida solo il testo...
    Il tuo problema non è di semplice risoluzione. Ti riporto la soluzione che ho visto utilizzare in wordpress attraverso un tag speciale "more"

    Si individua quel tag e si tronca l'html fino a quel punto.

  7. #7
    Guest

    Predefinito

    Mi potresti fare un esempio... ^^

  8. #8
    Guest

    Predefinito

    Codice PHP:
    $tag_che_delimita_il_punto_da_troncare = '<miniscript>';
    $stringa = "
    <p>Questa che è una stringa che io voglio trocare</p>
    <p>La vorrei roncare in un punto in cui trova un tag speciale
    che chiamero <strong>tag 'miniscript'</strong></p>
    <miniscript>
    <p>questo testo non devi prenderlo</p>
    <p>e nemmeno questo</p>
    "
    ;
    echo
    substr($stringa, 0, strpos($stringa, $tag_che_delimita_il_punto_da_troncare));

  9. #9
    Guest

    Predefinito

    Non hai capito quello che intendevo ti spiego meglio...
    io nel db salvo un messaggio tipo cosi...
    messaggio:

    Codice PHP:
    se sarà pure misteriosa e tenebrosa quando vuole fa paura ma ti abbraccia e ti difende se l&#8217;ascolti se ti nascondi e cerchi dentro nella forza per andare avanti e non tradirla con il sole e i raggi mi copre dagli insulti e dalle malelingue che cerca solo di ferirmi e screditarmi
    mi lascia fare anche se sbaglio a farmi male senza insultarmi non come te che invece
    hai cancellato in un momento tutto quanto ed è rimasto dentro te soltanto il peggio
    per uno sbaglio ed un momento in cui mi son sentito solo senza coraggio
    [youtube]R3Ob_fTaWmI[/youtube]
    nella pagina dove visualizzo il messaggio ho questo codice...
    Codice PHP:
    <?php echo wordwrap(preg_replace($pattern,$replacements,$messaggio['3']),80,"<br>\n",true); ?>
    tramite un altra pagina mi converte
    Codice PHP:
    [youtube]R3Ob_fTaWmI[/youtube]
    in
    Codice PHP:
    <div class="video"><object data="http://www.youtube.com/v/R3Ob_fTaWmI&amp;hl=it&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" width="380" height="285"><param name="movie" value="http://www.youtube.com/v/R3Ob_fTaWmI&amp;hl=it&amp;fs=1&amp;rel=0"></object></div>
    e mi dovrebbe tagliare le parole prima del div, ogni 80 parole capito il problema e che mi taglia anche il codice che è stato convertito...
    Mi sono spiegato bene... ^^
    Ultima modifica di hotmailpower : 13-03-2011 alle ore 16.15.57

  10. #10
    programmazioned non è connesso Utente attivo
    Data registrazione
    25-03-2008
    Messaggi
    440

    Predefinito

    Cerca tra i contributi degli utenti nella pagina che ti ho linkato sopra.
    Ci sono almeno tre funzioni diverse che fanno quel che ti serve

    Ciao!

  11. #11
    Guest

    Predefinito

    Citazione Originalmente inviato da programmazioned Visualizza messaggio
    Cerca tra i contributi degli utenti nella pagina che ti ho linkato sopra.
    Ci sono almeno tre funzioni diverse che fanno quel che ti serve

    Ciao!
    sai che io nn le ho trovate...

    cmq... ora che ti sei meglio spiegato mi è venuto lo strano sospetto che tu voglia fare una cosa php che in realtà si fa con altri linguaggi
    Codice:
    <html>
    <head>
    <style>
    .tronca_parole_lunghe{
    	display: block;
    	width: 200px;
    	word-wrap: break-word;
    	}
    </style>
    </head>
    <body>
    <div class="tronca_parole_lunghe">
    <p> parole moooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooolto lunghe</p>
    </div>
    </body>
    </html>

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •