Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: Formattare testo da DB

  1. #1
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026

    Formattare testo da DB

    Salve a tutti,ho un problema

    ho una textarea per rilasciare commenti di questo tipo

    codice:
    <textarea name="commento" cols="50" rows="15" width="400px" height="300px"></textarea>
    il commento poi viene salvato nel db e richiamato su un'altra pagina in un div

    il problema è che il div mi tira su il testo come se fosse salvato su una riga sola ,quindi ho dovuto per forza inserire un overflow nel div,il quale fa si che il testo rimanga all'interno dello stesso div ma che io possa scorrere la barra scroll per leggerlo tutto

    ma adesso mi chiedo

    non si può formattare un testo preso dal db in maniera che dopo "tot" numeri di lettere vada a capo da solo?o meglio dopo "tot" lunghezza riga passi a quella sottostante?


    spero di essermi spiegato bene

    grazie a chi mi può aiutare

  2. #2
    hai diverse alternative in questi casi:

    usare il nl2br() oppure spezzare la variabile del testo in due (anche con un substr() dopo la metà/150/300 caratteri), inserirci dentro un
    e ricongiungere il tutto prima di inserire nel database.
    Una forte determinazione ad esser felici vi aiuterà

  3. #3
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    ok ti ringrazio,forse la seconda chance è quella che fa per me

    ma quindi ,taglio il testo ,e ogni porzione la lego a un
    da far apparire?giusto?

    il
    lo metto nella echo? oppure lo inserisco insieme al testo nel db?

  4. #4
    dipende... dall'applicazione
    Se farai sempre tutto così e solo in quel modo puoi metterlo nell'echo, se altrimenti nel db.
    poi insomma non è quella un'immensa differenza!
    Una forte determinazione ad esser felici vi aiuterà

  5. #5
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    ok dai ,faccio come mi viene meglio, ti ringrazio di cuore

    se ho problemi ti scrivo nuovamente
    ciao

  6. #6
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    guarda sono già nel pallone

    ho inserito nella echo questo
    Codice PHP:

    ".substr($risultato['commento'],0,40)."</br>

    ".substr($risultato['commento'],-40,80)."</br>

    ".substr($risultato['commento'],-80,160)."</br>

    ".substr($risultato['commento'],-160,320)."</br>

    ".substr($risultato['commento'],-320,640)."</br>

    ".substr($risultato['commento'],-640,1280)."</br>

    ".substr($risultato['commento'],-1280,2360)."</br
    però on mi sembra che funzioni

    perchè ,cercando di visualizzare tutte righe composte dallo stesso numero di caratteri ,

    no me le tira su tutte uguali

    forse sto sbagliando qualcosa concettualmente?

  7. #7
    leggi bene questo, soprattutto negli esempi
    http://php.net/manual/en/function.substr.php

    Codice PHP:
    $commento ' '
    .'
    '
    .substr($risultato['commento'],0,40)
    .
    '
    '
    .substr($risultato['commento'],41,80)
    .
    '
    '
    .substr($risultato['commento'],81,120)
    .
    '
    '
    .substr($risultato['commento'],121,160);

    echo 
    $commento
    Una forte determinazione ad esser felici vi aiuterà

  8. #8
    Se vi serve tagliare le righe ad una precisa lunghezza si può usare www.php.net/wordwrap

    Ovviamente gli va specificato che si devono tagliare le parole alla lunghezza interessata, altrimenti lui fa andare a capo al primo spazio
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  9. #9
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    ragazzi vi ringrazio ma non vedo ancora risultati ,non funzionano nessuno dei due metodi

    il primo ho provato cosi:
    Codice PHP:
    </br>".substr($risultato['commento'],0,40)."
    </br>".substr($risultato['commento'],41,81)."
    </br>".substr($risultato['commento'],82,122)."
    </br>".substr($risultato['commento'],123,163)."
    </br>".substr($risultato['commento'],164,204)."
    </br>".substr($risultato['commento'],205,245)."
    </br>".substr($risultato['commento'],246,286)." 

    il metodo wordwrap non va neanche quello:

    $testo=$risultato['commento'];

    $commento_tagliato=wordwrap($testo,40,"</br>\n");

    niente....continuo a vedere il testo ,nel primo caso substr() scalato,ovvero la prima riga è di 20 caratteri la seconda è di 40,la terza è di 80 ,la quarta è di 160 etc etc


    se uso il wordwrap() tutto il teso mi viene visualizzato su una riga intera


    questo è il link in caso voleste dare un'occhiata...www.ispuk.altervista.org/preventivo

    inserite tutti i campi nella prima pagina e inviateli tramite submit subito dopo cliccate visualizza preventivi nella prima pagina per vedere il risultato

    grazie di cuore

  10. #10
    come ti dicevo il wordwrap necessità di un parametro apposito per forzare il taglio
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

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.