- Home
- Categorie
- Coding e Sistemistica
- PHP
- Problemi di replace di lettere accentate
-
Problemi di replace di lettere accentate
Non 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..