Sto utilizzando htmlentities($data, ENT_QUOTES)
su qualsiasi dato recuperato dal database prima di visualizzarlo.Come impostare ENT_QUOTES per impostazione predefinita per la funzione htmlentities() in php
C'è un modo per impostare il flag ENT_QUOTES
per impostazione predefinita per htmlentities()
funzione, in modo che, anche se scrivo htmlentities($data)
che dovrebbe funzionare come htmlentities($data, ENT_QUOTES)
.
Come scritto nella documentazione di php il valore predefinito è ENT_COMPAT | ENT_HTML401
.
Per vostra informazione sto usando il framework codeigniter, php5.
AGGIORNAMENTO 1: il wrapping con una funzione personalizzata come suggerito da Michael potrebbe essere d'aiuto, ma l'ho già utilizzato ovunque nel sito Web senza flag ENT_QUOTES e mi chiedevo se esiste un modo fornito da php per modificare i valori predefiniti per le sue funzioni.
UPDATE 2: Penso che la funzione incorporata html_escape() fornita da codeigniter (suggerita da Wesley) sia la migliore per me in modo che non debba scrivere la mia funzione wrapper.
Perché si utilizza 'htmlentities', non' htmlspecialchars'? – zerkms
Si potrebbe semplicemente avvolgere la funzione. 'function my_htmlentities ($ string) {return htmlentities ($ string, ENT_QUOTES);}' e chiama 'my_htmlentities()'. –
@zerkms Forse lo si usa comunemente negli attributi HTML, dove 'htmlentities()' gestisce la codifica delle virgolette in un modo più diretto. –