- Home
- Categorie
- Coding e Sistemistica
- Coding
- Problemi di replace di lettere accentate
- 
							
							
							
							
							
Problemi di replace di lettere accentateNon riesco ad applicare con successo il str_replace con le lettere accentate es $arr_trova=array('.','à','è','é','ì','ò','ù',' ','\''); $arr_sost =array('-','a','e','e','i','o','u','-','-'); $tmp=str_replace($arr_trova,$arr_sost,$tmp);con questo codice, la parola pappà rimane pappà... qualche idea? 
  
 
- 
							
							
							
							
							
potresti provare a farli singolarmente piuttosto che farli come array... occuperebbe un po' più di righe ma dovrebbe funzionare :bho: 
 
- 
							
							
							
							
							
no, non funziona neanche così (era la "prima versione") 
  
 
- 
							
							
							
							
							L'ho provato anch'io così: <? $tmp = "pappà"; $arr_trova=array('.','à','è','é','ì','ò','ù',' ','\''); $arr_sost =array('-','a','e','e','i','o','u','-','-'); $tmp=str_replace($arr_trova,$arr_sost,$tmp); echo $tmp; ?>E funziona correttamente. Sei sicuro che hai le lettere accentate in $tmp e non invece qualcosa tipo ``` 
 àNel qual caso non funzionerebbe!
 
- 
							
							
							
							
							
si si.... sono sicuro anche a me sia la sintassi che il codice sembrano corretti sapete di qualche impostazoine di php che possa avere questo effetto? 
 
- 
							
							
							
							
							
piccolo aggiornamento Effettivamente il problema non è legato agli accenti in se, ma a come questi sono memorizzati nel db... 
 
- 
							
							
							
							
							E così? $review_gloss = str_replace("à", "à", $review_gloss); $review_gloss = str_replace("è", "è", $review_gloss); $review_gloss = str_replace("ì", "ì", $review_gloss); $review_gloss = str_replace("ò", "ò", $review_gloss); $review_gloss = str_replace("ù", "ù", $review_gloss);
 
- 
							
							
							
							
							Ho lo stesso identico problema... tu l' hai risolto? 
 
- 
							
							
							
							
							<? 
 $tmp = "pappà";
 $arr_trova=array('.','à','è','é','ì','ò','ù',' ',''');
 $arr_sost =array('-','a','e','e','i','o','u','-','-');for ($i=0; $i<=count($arr_trova); $i++) { 
 $tmp=str_replace($arr_trova*,$arr_sost*,$tmp);
 }echo $tmp; 
 ?>Ti eri dimenticato di scorrere l'elenco dei singoli elementi di un arrat. Il comando str_replace non lo fa in automatico...  
 
- 
							
							
							
							
							
 
- 
							
							
							
							
							ho dovuto usare un normale replace.... nemmeno con la funzione mi andava..