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

    Lettere accentate replace con lettere senza accento

    Ho una stringa con lettere accentate sia normale che in codice (á e &eacute); vengono da fonte diverse. Voglio trasformarle tutte in lettere normali, senza accento. Ho provato il codice sotto, che funziona bene per le lettere accentate normale (á), ma lascia quelle in codice (&eacute) come lettere accentate.
    Domanda: como faccio perché l'output sia tutte senza accento?
    Codifica della pagina: Europa Centrale ISO

    Codice PHP:
    $frase "à é î õ ú é õ"
    $search explode(",","ç,á,é,í,ó,ú,a,e,i,o,u,ä,ë,i,ö,ü,y,â,e,î,ô,u,a,e,i,o,u,õ,ã"); 
    $replace explode(",","c,a,e,i,o,u,a,e,i,o,u,a,e,i,o,u,y,a,e,i,o,u,a,e,i,o,u,o,a"); 
    $frase_no_accent str_replace($search$replace$frase); 
    echo 
    $frase_no_accent;
    //L'output che ricevo: a e i o u é õ
    //vorrei: a e i o u e o 
    Luiz

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Allora in search devi aggiungere i vari &agrave ; &egrave ; ecc.. e in replace le corrispondenti lettere con cui sostituire.

    PHP non lo sa che &egrave ; è una "è".

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    o prova anche con $frase_no_accent = str_replace($search, $replace, html_entity_decode($frase));

  4. #4
    Usando il suggerimento di eiyen
    Codice PHP:
    $frase "A é î o Ú é õ ã Ã Â"
    $search explode(",","ç,á,é,í,ó,ú,a,e,i,o,u,ä,ë,i,ö,ü,y,â,e,î,ô,Á,À,Ã,É,È,Ê,Í,Ó,Ô,Õ,Ú"); 
    $replace explode(",","c,a,e,i,o,u,a,e,i,o,u,a,e,i,o,u,y,a,e,i,o,a,a,a,e,e,e,i,o,o,o,u"); $frase_no_accent =str_replace($search$replacehtml_entity_decode($frase)); 
    Ho come output: a e i o u e õ ã Ã Â
    In sintesi "é" mi trasforma in "e", ma "õ" mi lascia in õ.
    Luiz

  5. #5
    Va bene con il codice di Alhazred
    Codice PHP:
    $frase "A é î o Ú é õ ã Ã Â"
    $search explode(",","ç,á,é,í,ó,ú,a,e,i,o,u,ä,ë,i,ö,ü,y,â,e,î,ô,Á,À,Ã,É,È,Ê,Í,Ó,Ô,Õ,Ú,á,é,í,ó,ú,Á,É,Í,Ó,ú,ã"); 
    $replace explode(",","c,a,e,i,o,u,a,e,i,o,u,a,e,i,o,u,y,a,e,i,o,a,a,a,e,e,e,i,o,o,o,u,a,e,i,o,u,a,e,i,o,u,a"); 
    $frase_no_accent =str_replace($search$replace$frase); 
    Luiz

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.