caratteri speciali php 3


Oggi vediamo diversi metodi per convertire i caratteri speciali in entità html.

Se ad esempio volessimo convertire non solo i caratteri speciali ma anche i tag html come ad esempio <br /> odvremmo usare la funzione htmlentities:

$testo = htmlentities($testo, ENT_QUOTES);

In pratica non fa altro che convertire tutti i caratteri speciali inclusi doppi apici e singoli, per non convertire i singoli apici (default) basta inserire come secondo parametro ENT_COMPAT, invece per non convertire ne doppi ne singoli apici basta inserire ENT_NOQUOTES.

Il terzo parametro indica invece la codifica (il charset), di default ISO-8859-1; è consigliabile non cambiarlo in quanto potrebbe creare problemi

Infine il quarto parametro indica se convertire o meno le entità già esistenti, di defualt true.

Se invece volessimo convertire solo determinati caratteri (ad esempio solo quelli accentati) dobbiamo costruirci noi una funzione con str_replace:

$caratteri = array("è", "à", "ù", "ì", "ò", "è", "À", "Ù", "Ì", "Ò");
$convertiti = array("&egrave;", "&agrave;", "&ugrave;", "&igrave;", "&ograve;", "&egrave;", "&Agrave;", "&Ugrave;", "&Igrave;", "&Ograve;");
$testo = str_replace($caratteri, $convertiti, $testo);

In pratica ad ogni carattere dell’array $caratteri corrisponde la sua entità in $convertiti.

CC BY-SA 4.0 caratteri speciali php by cardinale claudio is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.


Lascia un commento

3 commenti su “caratteri speciali php