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

Discussione: Aiuto per Textarea

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    9

    Aiuto per Textarea

    Gente allora vi espongo il problemino...io ho una textarea in un form, nella quale devo scrivere una descrizione di un oggetto in vendita...la textarea è larga 24 colonne(quindi 24 caratteri) e 4 righe, ora quando invio il contenuto della textarea tramite post la pagina php me lo scrive all'interno di un file di testo che poi un'altra pagina legge e inserisce la descrizione al fianco di ogni oggetto..il problema è questo: quando scrivo all'interno della textarea le righe che superano i 24 caratteri vanno a capo da sole ed è perfetto, quindi teoricamente potrei scrivere anke 60 caratteri di seguito che nella textarea vanno a capo da soli ogni 24, il discorso è ke quando invio il testo alla pagina php questo viene memorizzato come una singola riga senza gli a capo che la textarea mi metteva automaticamente....mentre se io dò un invio mentre scrivo nella textarea il testo ke invio alla pagina php viene memorizzato con quell'a capo. quindi in sostanza gli a capo che metto io li salva perfetti nel file di testo, quelli che mette in automatico la textarea non vengono memorizzati. Ho provato con le varie opzioni VIRTUAL PHYSICAL ma niente.

    Datemi una mano pleaseeeeeeeeee

  2. #2
    se non sbaglio all'interno die textarea ci sono die caratteri di line-feed , cioè die chr(13) basta quindi un str_replace per sostituire i chr(13) in tag html "
    ":

    str_replace(chr(13)+chr(10), "</br>", $textarea);

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    9
    Niente ho provato ma niente...il fatto è che l'a capo che mette automaticamente la textarea è come se non fosse un a capo..non so se è kiaro... cmq ora vi posto il codice della pagina:


    <body>
    <?php
    if (isset($_POST["invio"])) {
    $file = '01.txt';
    if (is_writable($file) == false) {
    die('Impossibile scrivere il file');
    }
    $contenuto = 'Questo è il contenuto del mio file!';
    //Scrittura di un file
    file_put_contents ($file, $_POST["textarea"]);
    echo 'Testo caricato correttamente

    ';
    echo 'Torna alla pagina di editing';}
    ?>


    Inserisci la descrizione dell'usato N.1</p>
    <form name="form1" method="post" action="">



    <textarea name="textarea" cols="24" rows="4" wrap="PHYSICAL"></textarea>
    </p>



    <input type="reset" name="Submit2" value="Ripristina">
    <input name="invio" type="submit" id="invio" value="Invia">
    </p>
    </form>
    </body>

  4. #4
    invece che chr(13)+chr(10), prova col solo chr(10) ho letto che è presente quel carattere quando rpemi invio nel textarea, tipo il '\n' di php

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    9
    no ma forse non hai capito bene quello ke volevo dire...se io premo invio non ho problemi..cioè il mio problema non è ke se premo invio poi non mi memorizza l'a capo...il mio problema è quando non premo invio e la riga essendo più lunga della lunghezza della textarea va a capo in automatico, è quell'a capo ke non mi memorizza.

  6. #6
    chiedo scusa, avevo capito nell'altro senso..cmq anche in questo se va a capo automaticamente dovrà pur inserire un carattere di A CAPO, sia esso un chr(13) che un chr(10), quindi rientriamo semrpe nelc aso di prima...

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    9
    guarda io sono d'accordo con quello ke dici però...non si spiega il fatto ke se scrivo ad esempio:

    WEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
    GUARDA QUESTO (invio da tastiera)
    LALALALLALA

    Allora "WEEEEEEEEEE..." me la mette su 2 righe perkè ovviamente non entra nella lunghezza della textarea quindi a capo in automatico, invece il secondo a capo l'ho fatto io da tastiera...nel file di testo lui mi memorizza WEEE.. senza a capo (cioè senza l'automatico) e Guarda questo con l'a capo che ho dato io da tastiera...quindi il discorso non è di cambiare il carattere a capo perkè allora neanke l'a capo da tastiera dovrebbe essere memorizzato...secondo me c'è poco da fare..

  8. #8
    l'unica che potrei pensare è che automaticamente il textarea fa un semplice calcolo matematico: ad ogni carattere immesso controlla se la parola immessa non è più lunga del parametro COLS; se si avvera questo allora divide la stringa in due...

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    9
    Eh si....guarda a questo punto la cosa ke potrei fare è mettere un controllo simile nella lettura del file di testo..cioè io faccio tutto questo perkè il testo ke scrivo nel file poi viene inserito in una tabella ke ha una certa larghezza, quindi se non va a capo mi si sfalsa tutta la tabella....però se magari inserisco un controllo ke nella lettura del testo dal file txt ad ogni tot caratteri mi manda a capo sarebbe tranquillo...solo ke non sono molto ferrato in php non è ke sapresti dirmi come potrei fare?

  10. #10
    dunque, ogni cella di tabella ha una certa larghezza e la si calcola in peercentuale o in pixel; fai qualche prova per vedere quanti caratteri ci stanno ad esempio su una riga di una cella

    <td width="40%">

    supponi che ci stiano max 40 caratteri. poi metti in una stringa il contenuto della riga da metterci; se è > 40 allora usa la funzione substr (http://it.php.net/manual/en/function.substr.php) per dividerla, ad esempio

    Codice PHP:
    if (strlen($riga) > 40) {
      
    // mette i primi 40 caratteri in $primaRiga
      
    $primaRiga substr($riga039);
      
    // mette gli altir caratteri in $secondaRiga
      
    $secondaRiga substr($riga40strlen($riga));
      echo 
    "<td width=\"40%\">$primaRiga
    $secondaRiga</td>";
    } else
        echo 
    "<td width=\"40%\">$riga</td>"

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.