Buongiorno
Questo codice (funzione) dovrebbe far passare solo parole con solo caratteri alfabetici e solo uno spazio o un undescore, ma non in testa o coda

le parole possoni essere una e non più di due
Che ne pensate? vedete qualche altro caso che può "bucare" la function?
codice:
<?php
function verifica_nome($nome){
               //corregge nome per spazi o undescore duplicati
               $corr=preg_replace('/\s\s+/',' ',$nome);
               $corr=preg_replace('/\_\_+/','_',$corr);
               $corr=preg_replace('/ _/','_',$corr);
               $corr=preg_replace('/_ /','_',$corr);
               $corr=preg_replace('/\&nbsp;/',' ',$corr);
               //elimina eventuali spazi in testa o coda
               $corr=trim($corr);
               //elimina undescore in testa o coda
               if(strpos($corr,'_')===0){$corr=substr($corr, 1);}
               $l=strlen($corr)-1;
               if(strpos($corr,'_')===$l){$corr=substr($corr, 0,$l);}
               //verifica nome
               $errore="";
               $num_parole=str_word_count($corr,0,'aèéìòù0123456789');
               if($num_parole<1 || $num_parole>2){ $errore.=" troppe parole ";}
               if(strlen($corr)<4 || strlen($corr)>50){$errore.=" troppo lungo o corto ";}else{
               if(!preg_match('/^[a-z _aèéìòù]{4,50}$/i',$corr)){$errore.=" caratteri non ammessi ";}}
               if($errore==""){
                              return "$nome => $corr <b>OK</b><br>";
               }else{
                              return "$nome => $corr <b>KO</b>$errore<br>";
               }
}
/* *****fine function***** */
/* esempi nomi da provare */
$str[]="pinco_pallò";
$str[]="sempronio__pallo";
$str[]="asdrubale   pallo";
$str[]="sofonisba _pallo";
$str[]="attenzio_ Pallo";
$str[]="onofrio _ trepalle";
$str[]="Pallino";
$str[]="Pallino C";
$str[]="C Pallino";
$str[]="pallonzi_pallo sopra";
$str[]="pal";
$str[]="Alcamir_";
$str[]="_abrakadabra";
$str[]="_abrak7adabra";
$str[]="_nocciolina_";
$str[]=" Noce Moscata ";
$str[]="    Eri      ";
$str[]="&nbsp;&nbsp;Ori&nbsp;&nbsp;";
$str[]="_____oro_____";
$str[]="Venanzio_C";
$str[]="V_Onofrio";
$str[]="vanesi*o";
$str[]="_H_zozzone_";
/* test */
foreach($str as $nome){
               echo verifica_nome($nome);
}
?>
Grazie