richiedi subito informazioni chiamando al numero +39 080 4837098

Sostituire le lettere accentate con php

22 giu 2012

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.


Categoria: PHP
Autore: Francesco


Commenti:

Francesco 25/GIU/2013

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

Luca 25/GIU/2013

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

Francesco 24/GIU/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/GIU/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

Nome: (obbligatorio)


Email: (obbligatoria - non sarà pubblica)


Sito:
Commento: (obbligatorio)

Invia commento


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