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

    Eliminare TAG HTML incompleti

    Salve ragazzi, vi espongo il mio problema.
    Ho creato uno script che elimina tutti i TAG html da un testo dato in input.
    Questo testo ovviamente è una pagina HTML :-).

    Solo che ho notato un problema, questo script non elimina i TAG HTML interroti.
    Mi spiego meglio.
    Sempre utilizzando lo script di "eliminazione dei TAG" se trova TAG HTML non completi non li elimina.

    Tag HTML incompleti possono essere: <p align=, oppure <img src=, oppure <a href=

    Ecco lo script che utilizzo:

    Codice PHP:
    <?php
    $paginaHTML 
    '<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
    <meta name="ProgId" content="FrontPage.Editor.Document">
    <title>Nuova pagina 1</title>
    </head>

    <body>


    Prova</p>


    TAG</p>


    [url="http://"]url[/url]</p>


    [img]http://www.ciao.it/ciao.gif[/img]</p>
    </body>

    </html>'
    ;

    $search = array ("'<script[^>]*?>.*?</script>'si",   // Rimozione del javascript
                     
    "'<[\/\!]*?[^<>]*?>'si",           //Rimozione dei TAG HTML
                     
    "'([\r\n])[\s]+'",                 //Rimozione spazi bianchi
                     
    "''",
                     
                     
                     
    "'&'",
                     
    "'<'",
                     
    "'>'");                
                            

    $replace = array ("",
                     
    "",
                     
    " ",
                     
    " ",
                     
                                     
    // Sostituzione delle entità HTML
                     
    "&amp;",
                     
    "&lt;",
                     
    "&gt;");
                     
    $text preg_replace($search$replace$paginaHTML);
    echo 
    "Ecco il testo pulito:
    "
    ;
    echo 
    $text;
    ?>
    Se lo eseguite vedrete che i TAG HTML se ne vanno tutti.

    Ora però provate questo:
    Codice PHP:
    <?php

    $paginaHTML 
    '<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
    <meta name="ProgId" content="FrontPage.Editor.Document">
    <title>Nuova pagina 1</title>
    </head>

    <body>


    Prova</p>


    TAG</p>


    <a href="htt</p>


    [img]http://www.ciao.it/ciao.gif[/img]</p>
    </body>

    </html>'
    ;

    $search = array ("'<script[^>]*?>.*?</script>'si",   // Rimozione del javascript
                     
    "'<[\/\!]*?[^<>]*?>'si",           //Rimozione dei TAG HTML
                     
    "'([\r\n])[\s]+'",                 //Rimozione spazi bianchi
                     
    "''",
                     
                     
                     
    "'&'",
                     
    "'<'",
                     
    "'>'");                
                            

    $replace = array ("",
                     
    "",
                     
    " ",
                     
    " ",
                     
                                     
    // Sostituzione delle entità HTML
                     
    "&amp;",
                     
    "&lt;",
                     
    "&gt;");
                     
    $text preg_replace($search$replace$paginaHTML);
    echo 
    "Ecco il testo pulito:
    "
    ;
    echo 
    $text;
    ?>
    Come potete vedere il TAG <a href= rimane...
    Ringrazio chiunque mi possa aiutare...

  2. #2
    hai provato a vedere cosa succede con $testo=strip_tags($testo) ?

    http://it2.php.net/strip_tags

  3. #3
    Cavolo non l'avevo vista quella funzione... Grazie!!

  4. #4
    leggiti bene pero' alcuni interventi, tipo questo

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.