Fonte php.net
Codice PHP:
<?php
function strip_only_tags($str, $tags, $stripContent=false) {
$content = '';
if(!is_array($tags)) {
$tags = (strpos($str, '>') !== false ? explode('>', str_replace('<', '', $tags)) : array($tags));
if(end($tags) == '') array_pop($tags);
}
foreach($tags as $tag) {
if ($stripContent)
$content = '(.+</'.$tag.'(>|\s[^>]*>)|)';
$str = preg_replace('#</?'.$tag.'(>|\s[^>]*>)'.$content.'#is', '', $str);
}
return $str;
}
$stringa_con_tag_vari = '<u>i tag</u> <strong>strong</strong> e altri non li eliminare ma <script> alert("ops");</script> si!';
echo strip_only_tags($stringa_con_tag_vari, '<script>');exit;
?>
EDIT:
MESSAGGIO EDITATO COME DA RACCOMANDAZIONE FATTA DA dreadnaut