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

    Problema funzione nl2br con html

    Allora..ho fatto una form con textarea.
    In questo textarea si può inserire sia codice html che solo testo.
    Successivamente nella pagina che visualizza quello che è stato inserito nel DB viene usata la funzione "nl2br", che converte gli spazi in
    ed altre cose.
    Il problema è che se nel textarea originario inserisco solo testo i
    automatici mi fanno comodo...mentre se voglio inserire del codice html, purtroppo degli spazi a capo compaiono (visto che il codice è generato dal programma) e quindi vengono inseriti molti
    all'interno dell'html, scompaginando tutto!

    Esiste qualche funziona che controlla se c'è dell'html dentro una variabile (in questo caso quella presa dal DB che contiene il codice inserito attraverso il textarea), in modo tale che possa mettere o meno il "nl2br"??

    Thx!

  2. #2
    Aggiungo un altro problema.

    Se per caso in questo TEXTAREA inserisco queste stringhe:

    Codice PHP:
    Ciao
    Come va
    ?

    <
    table>
    <
    tr>
    <
    td>
    Ciao
    Come va
    ?
    </
    td>
    </
    tr>
    </
    table
    In questo caso c'è sia del testo normale e quindi i
    automatici mi fan comodo, ma anche dell'html!
    Verrebbe così:

    Codice PHP:
    Ciao

    Come va
    ?



    <
    table>

    <
    tr>

    <
    td>

    Ciao

    Come va
    ?

    </
    td>

    </
    tr>

    </
    table
    Mi mette dei
    dopo le tag html e questo non va bene!!!

  3. #3
    Facendo una ricerva sul sito di php ho trovato questo:

    Codice PHP:
    Here is a variant of nl2br that does not insert newlines inside HTML tags. 

    <?php 
    function www_nl2br ($testo

       
    # Example of preg_match_all's result: 
       # Array ( 
       #    [0] => Array ( 
       #      [0] => First line 
       #      [1] => See also [url="http://www.polimi.it/"][url]www.polimi.it[/url][/url] 
       #      [2] => Third line [url="http://www.polimi.it/"][url]www.polimi.it[/url][/url] 
       #    ) 
       # ) 
       # 
       # The output then is 
       #    First line
     
       #    See also [url="http://www.polimi.it/"][url]www.polimi.it[/url][/url]
     
       #    Third line [url="http://www.polimi.it/"][url]www.polimi.it[/url][/url]
     
       
    preg_match_all ('/ 
               (?> 
                 (?> [^<\n]*)              # testo fuori dai tag 
                 (?> <[^>]*>)*            # e tag se serve 
               )*                          # ad libitum 
           (\n|\Z)                        # fino a fine linea 
           /xs'
    $testo$result); 

       return 
    implode ("\n
    "
    $result[0]); 

    ?>
    Non ho ben capito come applicarla...

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.