Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Ritorno a capo textarea

    Salve a tutti, avrei bisogno di un supporto per un problema legato al ritorno a capo della textarea...
    Qualcuno mi ha consigliato di usare la funzione nl2br, ma o non la so usare io o non mi funziona..
    Il punto è che se nella textare do invio da tastiera, i dati nel database vengono formattati correttamente, ma se lascio che vada a capo in automatico non riconosce il ritorno a capo di conseguenza ne db mi ritrovo una stringa lunghissima...
    Ma a limite esiste un modo per bloccare una cella nella pagina di visualizzazione del testo in modo da costringere il testo ad un ritorno a capo?
    Per evitare che mi allarghi la pagina orizzontalmente?
    Sto impazzendo da una settimana please....

  2. #2
    Facciamo un po' di chiarezza.

    Quando qualcuno compila una textarea di una form, gli a capo sono codificati con la sequenza di caratteri \n.
    Nel DB viene salvata la tua stringa con tante di queste sequenze di caratteri quante volte l'utente ha premuto ENTER dalla sua tastiera.

    Il mio consiglio è di utilizzare nl2br() ogni volta che mandi in echo le stringhe che contengono testi su più righe, perché questa funzione non fa altro che trasformare in automatico ogni sequenza di \n in
    .

    La sintassi è semplicissima.

    Codice PHP:
    /*
    $testo è la variabile - estrapolata dal DB - che contiene 
    il testo passato dalla TEXTAREA della form
    */

    $testo nl2br($testo); 
    Spero di essere stato chiaro, ad ogni modo ricorda che per vedere la corretta sintassi di una funzione PHP c'è sempre il manuale online su php.net.

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

  3. #3
    Ciao e grazie infinite per aver risposto, la funzione nl2br l'ho gia provata ma non mi funziona, ti posto un pò di codice se non ti scoccia mi daresti una mano ad individuare il problema? Magari dimmi come e dove inserire la funzione, con un esempio più pratico..
    Grazie ancora..

    codice della pagina dove risiede la textarea:

    <form action="<?php echo nl2br $_SERVER['PHP_SELF']; ?>" method= "post" name="testo" id="testo"> <label>

    <p align="center">

    </p>
    <div align="center">
    <table width="565" height="137" border="0">

    <tr>
    <th height="86" colspan="3" valign="top" scope="col">[img]../CheSfiga Logo ok3.jpg[/img]</th>
    </tr>
    <tr>
    <th width="50" height="12"></th>
    <th width="105"></th>
    <th width="395"></th>
    </tr>
    <tr>
    <th height="22" colspan="3" valign="top" scope="col"><div align="center"><span class="Stile3">Inserisci il tuo SfigaRacconto!!!</span></div></th>
    </tr>


    <tr>
    <th height="21"></th>
    <th></th>
    <th></th>
    </tr>
    <tr>
    <th height="24"></th>
    <th valign="top" scope="col"><div align="left">Titolo:
    </div></th>
    <th valign="top" scope="col"><div align="left">
    <input name="titolo" type="text" id="titolo" size="35" />
    </div></th>
    </tr>
    <tr>
    <th height="24"></th>
    <th valign="top" scope="col"><div align="left">Autore:
    </div></th>
    <th valign="top" scope="col"><div align="left">
    <input name="autore" type="text" id="autore" value="<?php echo $row_rc_utente_sfigaracconto['nome']; ?>" size="35" />
    </div></th>
    </tr>
    <tr>
    <td height="21"></td>
    <td></td>
    <td></td>
    </tr>
    <tr>
    <td height="21"></td>
    <td valign="top"><div align="left">SfigaRacconto:</div></td>
    <td rowspan="2" valign="top"><div align="left">

    </label>


    <textarea name="testo" cols="20" rows="8" wrap="physical" id="testo" lang="it"></textarea>
    </div></td>
    </tr>
    <tr>
    <td height="142"></td>
    <td></td>
    </tr>

  4. #4
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    string wordwrap ( string $str [, int $width [, string $break [, bool $cut ]]] )
    ...altri 5 anni di purga...

  5. #5
    Scusa se te lo chiedo, ma mi spieghi cosa c'entra mettere la funzione dove l'hai messa te????

    Come ti ho spiegato nel precedente post (in base a quello che avevi scritto te in apertura) nl2br() si usa per stampare a video dei testi provenienti, nella maggior parte dei casi dalla textarea di una form.
    Te invece la metti nella action della form e non credo che nella stringa della url ci siano segni di a capo!

    Dove intendi te, può tornarti utile la funzione basename().

    Penso sia meglio se ti scrivo lo script, così magari vedi se ti funziona.

    Codice PHP:
    <form action="pagina_ricezione_dati_form.php" method= "post" name="testo" id="testo"> <label>

    <p align="center">

    </p>
    <div align="center">
    <table width="565" height="137" border="0">

    <tr>
    <th height="86" colspan="3" valign="top" scope="col">[img]../CheSfiga Logo ok3.jpg[/img]</th>
    </tr>
    <tr>
    <th width="50" height="12"></th>
    <th width="105"></th>
    <th width="395"></th>
    </tr>
    <tr>
    <th height="22" colspan="3" valign="top" scope="col"><div align="center"><span class="Stile3">Inserisci il tuo SfigaRacconto!!!</span></div></th>
    </tr>


    <tr>
    <th height="21"> </th>
    <th> </th>
    <th> </th>
    </tr>
    <tr>
    <th height="24"> </th>
    <th valign="top" scope="col"><div align="left">Titolo:
    </div></th>
    <th valign="top" scope="col"><div align="left">
    <input name="titolo" type="text" id="titolo" size="35" />
    </div></th>
    </tr>
    <tr>
    <th height="24"> </th>
    <th valign="top" scope="col"><div align="left">Autore:
    </div></th>
    <th valign="top" scope="col"><div align="left">
    <input name="autore" type="text" id="autore" value="<?php echo $row_rc_utente_sfigaracconto['nome']; ?>" size="35" />
    </div></th>
    </tr>
    <tr>
    <td height="21"> </td>
    <td> </td>
    <td> </td>
    </tr>
    <tr>
    <td height="21"> </td>
    <td valign="top"><div align="left">[b]SfigaRacconto:[/b]</div></td>
    <td rowspan="2" valign="top"><div align="left">

    </label>


    <textarea name="testo" cols="20" rows="8" wrap="physical" id="testo" lang="it"></textarea>
    </div></td>
    </tr>
    <tr>
    <td height="142"> </td>
    <td> </td>
    </tr>
    Ora la pagina che riceve i dati della form (nello script l'ho chiamata pagina_ricezione_dati_form.php):

    Codice PHP:
    // prelevo le variabili dall'array $_POST
    $autore $_POST['autore'];
    $physical $_POST['physical'];

    // ora ti mostro l'uso della funzione nl2br()
    $physical nl2br($physical);

    echo 
    "
    $autore

    $physical
    "

    Un consiglio per i prossimi post.
    la funzione nl2br l'ho gia provata ma non mi funziona,
    È inutile scrivere così: se non ti funziona qualcosa descrivi sempre qual è il problema ed, eventualmente, il testo dell'errore restituito.
    Altrimenti, solo un mago dotato di sfera di cristallo ti potrà aiutare!

    <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.