Salve a tutti, ho questa funzione per il replace dei caratteri di una stringa ma ho un problema:
io ho bisogno che da una stringa del tipo "il mondo è grande" mi si trasformi in "il-mondo-e-grande".Ora la funzione va perche se scrivo l echo della variabile mi da il testo giusto, non va bene come la stringa viene salvat nel DB perche mi vengono salvate stringhe strane del tipo "è".Premetto che la pagina e in UTF8 mentre la tabella e campi in UTF8_general_ci.posto il codice
Codice PHP:
$nome_citta=stripslashes(htmlentities(htmlspecialchars($_POST['nome_citta'])));
$nome_citta_seo make_url_friendly($nome_citta);
echo 
$prova;
function 
make_url_friendly($url) { 
    
$url str_replace ("'""-"$url);
    
$url str_replace('à','a'$url);
    
$url str_replace ('è''e'$url); 
    
$url str_replace ('ì''i'$url); 
    
$url str_replace ('ò''o'$url); 
    
$url str_replace ('ù''u'$url); 
    
$find = array(' ''&''\r\n''\n''/''\\''+'); 
    
$url str_replace ($find'-'$url); 
    
$find = array(' ''é''è''ë''ê'); 
    
$url str_replace ($find'e'$url);  
    
$find = array(' ''ó''ò''ô''ö'); 
    
$url str_replace ($find'o'$url); 
    
$find = array(' ''á''à''â''ä'); 
    
$url str_replace ($find'a'$url); 
    
$url str_replace ('agrave;''a'$url); 
    
$find = array(' ''í''ì''î''ï''ì'); 
    
$url str_replace ($find'i'$url); 
    
$find = array(' ''ú''ù''û''ü');  
    
$url str_replace ($find'u'$url); 
    
$find = array('/[^a-z0-9\-<>\.]/','/[\-]+/''/<[^>]*>/'); 
    
$repl = array('''-'''); 
    
$url =  preg_replace ($find$repl$url); 
    return 
$url

Qualcuno riescie ad aiutarmi a capire del perche il Db si comporti cosi?
Grazie mille in anticipo.