Salve, ho la necessità di controllare i dati che passano gli utenti.. per fare ciò mi avvalgo della seguente dicitura da me scritta

Codice PHP:
function esc_string(&$string$iimg FALSE) {
        
    
$string trim($in_string);
    
$string addslashes($in_string);
    
$string htmlentities($in_string);
    if(
$img == FALSE) {
    
        
$string nl2br($in_string);
        
    } else {
        
        
$strng str_replace(" ""-"$string);
        
    }
    
    return 
$string;


Praticamente dovrebbe tornare formattate le stringhe che gli si passano e se nel caso non sono titoli di immagini rimpiazzare con
ogni "enter" premuto.

QUalcuno avrebbe una funzione che offre un controllo maggiore? xke molte volte questa funzione non mi seve e devo scrivere una stringa un bel po lunghetta. Ecco un esempio.
Scrivo questo x modificare il nome del file di modo che deve rimuovere ogni sorta di punti e di spazi (mantenendo il . solo x l'estensione)

Codice PHP:
str_replace(".""_"str_replace(" ""-", (htmlentities(addslashes(trim($_FILES['imagefile']['name'])))))) 
solo che cosi facendo mi crea un prob.. mi toglie anche il . dell'estensione.. come posso fare a impedirlo? e qualcuono conosce un codice di controllo + accurato?