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