LORETTA B. forum

Linguaggi di programmazione => Php e MySql (data base) => Topic aperto da: micdas - Agosto 08, 2009, 23:47:39

Titolo: Eliminare i caratteri speciali stampati in una pagina dal PHP
Inserito da: micdas - Agosto 08, 2009, 23:47:39
Capita spesso che caratteri accentati, apostrofi ed altri caratteri speciali vengano stampati usando una codifica particolare e criptata:
Codice: Non sei autorizzato a vedere i links. Registrati o Login
" al posto dei doppi apici (")
à al posto di "à"
è al posto di "è"
ecc.

Il problema si risolve in due maniere:
mettendo una serie di str_replace in questo modo:
Codice: Non sei autorizzato a vedere i links. Registrati o Login
$stringa = str_replace(""", "'", $stringa );
$stringa  = str_replace("è", "è", $stringa );
$stringa  = str_replace("à", "à", $stringa );
$stringa  = str_replace("ù", "ù", $);
........ecc

Con questo sistema può capitare che il codice si allunghi a dismisura se sono molte le stringhe da convertire oppure che qualche carattere sfugga alla nostra attenzione.

Ho recentemente sperimentato una funzione PHP che da sola converte in caratteri più umani questi caratteri.
La funzione è html_entity_decode e si usa con questa semplice sintassi:
Codice: Non sei autorizzato a vedere i links. Registrati o Login
<?php
echo html_entity_decode($ingr);
?>

Con questa funzione posso finalmente evitare tutta la serie di str_replace

Visto che la funzione html_entity_decode è da poco che la uso spero continui a funzionare con tutti i caratteri speciali
 :vittoria: