Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [PHP] lettere accentate!

    Vorrei in una stringa sostituire le lettere accentate con normali:
    $accent = array('à','è','ù','ì','ò','é');
    $noaccent = array('a','e','u','i','o','e');
    $chtext = str_replace($accent, $noaccent, $mtext);
    $chkey = str_replace($accent, $noaccent, $mkey);


    Questo però non va...qualcuno mi puo aiutare^^


    Tnx
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

  2. #2
    Utente di HTML.it L'avatar di iox84
    Registrato dal
    May 2004
    Messaggi
    754
    Se vuoi usare quella soluzione devi fare cosi':

    codice:
    $accent = array('à','è','ù','ì','ò','é');
    $noaccent = array('a','e','u','i','o','e');
    for($i = 0; $i < sizeof($accent); $i++){
     $chtext = str_replace($accent[$i], $noaccent[$i], $mtext);
     $chkey = str_replace($accent[$i], $noaccent[$i], $mkey);
    }
    Anche se probabilmente c'e' qualche soluzione migliore
    La fortuna e' cieca ma la sfiga ci vede benissimo
    Comprarselo o farselo di legno

  3. #3
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    852
    codice:
    function sostituisci($string="")
    {
       $string = str_replace('à', 'a', $string); 
       $string = str_replace('è', 'e', $string);
       $string = str_replace('ù', 'u', $string);
       $string = str_replace('ì', 'i', $string);
       $string = str_replace('ò', 'o', $string);
       $string = str_replace('é', 'e', $string);
    
       return $string;
    }

    Può andare?

  4. #4
    No... se uso str_replace con due array sostituisce automaticamente il valore 0 del primo con il valore 0 del secondo, e così via!! Non c'è bisogno di un for!
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

  5. #5
    codice:
    $stringa= "àdfdèdfdèfdsédfds ù ù";
    $accentate = array("à", "ò", "ì", "ù", "è", "é");
    $cambio = array("a", "o", "i", "u", "e", "e");
    $stringa = str_replace($accentate, $cambio, $stringa);
    ciao

  6. #6
    No no...ho sbagliato io
    il mio codice funziona, il problema è che poco prima ho un ereg con
    [a-zA-Z ] e quindi mi toglie le lettere accentate e dopo non sostituisce nulla!
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.