Attiva Web - Realizzazione siti internet, ecommerce

Sostituire le lettere accentate con php

    • La funzione che vi propongo l'ho realizzata tempo fa ed è stata man mano integrata con altre lettere. Potete eventualmente utilizzarla ed eliminare o aggiungere altri caratteri.

      //sostituisco le lettere accentate con le relativa entità html
      function cambia_acc($dato){
      	$dato = str_replace("€", "€",   $dato);
      	$dato = str_replace("è", "è", $dato);
      	$dato = str_replace("é", "é", $dato);
      	$dato = str_replace("à", "à", $dato);
      	$dato = str_replace("À", "À", $dato);
      	$dato = str_replace("á", "á", $dato);
      	$dato = str_replace("ò", "ò", $dato);
      	$dato = str_replace("ó", "ó", $dato);
      	$dato = str_replace("ì", "ì", $dato);
      	$dato = str_replace("í", "í", $dato);
      	$dato = str_replace("ù", "ù", $dato);
      	$dato = str_replace("ú", "ú", $dato);
      	$dato = str_replace("ñ", "ñ", $dato);
      	$dato = str_replace("ç", "ç", $dato);
      	$dato = str_replace("'", "'",   $dato);
      	$dato = str_replace('"', """,   $dato);
      	$dato = str_replace('°', "°",    $dato);
      	$dato = str_replace('’', "´",  $dato);
      	$dato = str_replace('»', "»",  $dato);
      	$dato = str_replace('«', "«",  $dato);
      	$dato = str_replace('“', """,   $dato);
      	$dato = str_replace('”', """,   $dato);
      	$dato = str_replace('®', "®",    $dato);
      	$dato = str_replace("™", "™",  $dato);
      
      	return $dato;
      }

      Come potrete notare ho inserito anche altri tipi di caratteri, tipo il carattere del marchio registrato.

      Francesco // 22-06-2012 // PHP

    Commenti:

    • Francesco 25/09/2013

      Una volta che hai la variabile così: $nome = cambia_acc($_POST['nome']); ripassala così $nome = htmlspecialchars($nome,ENT_QUOTES); dovresti risolvere ;)

    • Luca 25/09/2013

      Funziona!! Ho solo dei problemi con l'apostrofo, me lo traduce \'.. Per il resto complimenti e grazie!

    • Francesco 24/09/2013

      In maniera semplificata la puoi inserire nella pagina che elabora la richiesta e richiamarla ad esempio in questo modo: $nome = cambia_acc($_POST['nome']);

    • Luca 24/09/2013

      Salve! Grazie per la funzione.. ma dove devo inserirla? Nel mio caso ho un form per la scrittura su file di testo, poi prendo il file di testo e lo stampo a video. In che punto agisce la funzione? Luca

    Lascia un commento

    Invia commento


    ATTENZIONE: il tuo commento verrà prima moderato e se ritenuto idoneo sarà pubblicato