Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it L'avatar di byaur
    Registrato dal
    Aug 2004
    Messaggi
    1,061

    Togliere(Replace) tutti i tag html anche annidiati

    ho un problemino....
    dovrei fare un pulsante che preso il testo da una text area formattato con codice html mi tolga tutti i tag <....> "ripultendomi" tutto il codice. Fino ad adesso ho fatto in modo che mi riconosca determinati tag, il problema è che sono tantissimi e inoltre anche con diversi attributi, messi in modo diverso, tipo questo
    <span style="font-size: 10pt; font-family: Arial;">
    <p style="margin: 0cm 0cm 0pt;" class="MsoNormal">
    <p class="MsoNormal" style="margin: 0cm 0cm 0pt;">
    ...

    come si può fare???

    Chi di noi non vorrebbe
    sollevare il velo sotto cui sta nascosto il
    futuro...
    David Hilbert

  2. #2
    codice:
    function stripHTML(id){
    return document.getElementById(id).innerHTML.replace(/<\/?[^>]+>/gi, '');
    }
    questo dovrebbe fare al caso tuo.

  3. #3
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    prova così:

    codice:
    <script type="text/javascript">
    // <![CDATA[
    
        
        function htmlspecialchars(html) {
            return html.replace(/\<\/?[^\>]*?\>/gim, '');
        }
        
    
    // ]]>
    </script>
    
    <body>
       Testo html
    
        <textarea id="texthtml" cols="40" rows="10">Testo e Link</textarea>
    
    
       Testo plain
    
        <textarea id="textplain" cols="40" rows="10"></textarea>
    
    
        <input type="button" value="htmlspecialchars" 
        onclick="document.getElementById('textplain').value = htmlspecialchars(document.getElementById('texthtml').value)" />
    
    </script>
    </body>

    Ciao
    -Fab-



    Keywords: eliminare cancellare strip tags html htmlspecialchars
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  4. #4
    htmlspecialchars?

    Convert special characters to HTML entities


    il nome non coincide con quello che fa..

    sarebbe oppurtuno chiamarlo stripTags

  5. #5
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    è vero... me lo dico da solo:
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  6. #6
    Utente di HTML.it L'avatar di byaur
    Registrato dal
    Aug 2004
    Messaggi
    1,061
    ho risolto con un metodo un pò macchinoso e tedioso...
    ora provo quelle che mi avete proposto, poi vi faccio sapere
    grazie!!!

    Chi di noi non vorrebbe
    sollevare il velo sotto cui sta nascosto il
    futuro...
    David Hilbert

  7. #7
    Utente di HTML.it L'avatar di byaur
    Registrato dal
    Aug 2004
    Messaggi
    1,061
    Originariamente inviato da fcaldera
    prova così:

    codice:
    <script type="text/javascript">
    // <![CDATA[
    
        
        function htmlspecialchars(html) {
            return html.replace(/\<\/?[^\>]*?\>/gim, '');
        }
        
    
    // ]]>
    </script>
    
    <body>
       Testo html
    
        <textarea id="texthtml" cols="40" rows="10">Testo e Link</textarea>
    
    
       Testo plain
    
        <textarea id="textplain" cols="40" rows="10"></textarea>
    
    
        <input type="button" value="htmlspecialchars" 
        onclick="document.getElementById('textplain').value = htmlspecialchars(document.getElementById('texthtml').value)" />
    
    </script>
    </body>

    Ciao
    -Fab-


    Keywords: eliminare cancellare strip tags html htmlspecialchars
    grazie.. funzica benissimo!!
    però c'è un problema...
    se ho ad esempio
    1 frase

    2 frase</br>
    3 frase</ br>

    mi attacca le frasi, cioè elimina anche tutti i tipi di br... è possibile escluderli dalla regular expression?
    dovrei gruppare "br" cosi e dirgli di escluderlo tipo [^br]... ma poi come lo metto con [^\>] ???


    Chi di noi non vorrebbe
    sollevare il velo sotto cui sta nascosto il
    futuro...
    David Hilbert

  8. #8
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    non l'ho testato a fondo ma così dovrebbe andare bene (copia e incolla)
    Tra l'altro fa anche la conversione di tags
    malformati (ad es. < / br>,
    , < br / >) in
    (xhtml)

    codice:
    <script type="text/javascript">
    // <![CDATA[
    
        
        function striptags(html) {
    
            return html.replace(/\<\s*\/?\s*br\s*\/?\s*\>/gim, '&&br&&').replace(/\<\/?[^\&\>]*?\>/gim, '').replace(/\&\&br\&\&/gim, '
    ');
    
        }
        
    
    // ]]>
    </script>
    
    <body>
       Testo html
    
        <textarea id="texthtml" cols="40" rows="10">Testo e Link
    
    
        < br /> <br / ></br>
        </textarea>
    
    
       Testo plain
    
        <textarea id="textplain" cols="40" rows="10"></textarea>
    
    
        <input type="button" value="striptags" 
        onclick="document.getElementById('textplain').value = striptags(document.getElementById('texthtml').value)" />
    
    </script>
    </body>

    Ciao
    -Fab-
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  9. #9
    Utente di HTML.it L'avatar di byaur
    Registrato dal
    Aug 2004
    Messaggi
    1,061
    funziona benissimo

    grazie grazie grazie... mi ci stavo scervellando da una giornata

    una ultima cosa... mi piacerebbe capire la regular expression che hai postato tu che fa, specialmente il primo e il secondo replace...

    grazie ancora.


    Chi di noi non vorrebbe
    sollevare il velo sotto cui sta nascosto il
    futuro...
    David Hilbert

  10. #10
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    ci sono tre replace uno di seguito all'altro

    - il primo trasforma tutti i tags
    in sequenze &&br&&
    - il secondo elimina tutti i tags (br esclusi vista la precedente sostituzione)
    - il terzo trasforma tutti i &&br&& in
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

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.