esc_html()
esegue l'escape di una stringa in modo che non venga analizzata come HTML. Ad esempio, i caratteri come <
vengono convertiti in <
. Questo sembrerà lo stesso per il lettore, ma significa che se il valore che viene emesso è <script>
allora non verrà interpretato dal browser come un vero tag di script.
Utilizzare questa funzione ogni volta che il valore in uscita non deve contenere HTML.
esc_attr()
sfugge a una stringa in modo che sia sicuro da usare in un attributo HTML, come class=""
ad esempio. Ciò impedisce la fuoriuscita di un valore dall'attributo HTML. Ad esempio, se il valore è "><script>alert();</script>
e si è tentato di emetterlo in un attributo HTML, si chiuderebbe il tag HTML corrente e si aprirà un tag script. Questo non è sicuro. Sfuggendo al valore non sarà in grado di chiudere l'attributo HTML e il tag e generare HTML non sicuro.
Utilizzare questa funzione quando si genera un valore all'interno di un attributo HTML.
esc_url()
esegue l'escape di una stringa per assicurarsi che sia un URL valido.
Utilizzare questa funzione quando si genera un valore all'interno di un attributo href=""
o src=""
.
esc_textarea()
sfugge a un valore in modo che sia sicuro da usare in un <textarea>
elemento. Escludendo un valore con questa funzione, impedisce che un valore in uscita all'interno di un <textarea<
chiuda l' <textarea>
elemento e produca il proprio HTML.
Utilizzare questa funzione quando si genera un valore all'interno di un <textarea>
elemento.
esc_html()
e esc_attr()
hanno anche versioni che terminano con __()
, _e()
e _x()
. Questi sono per produrre stringhe traducibili.
WordPress ha funzioni, __()
, _e()
e _x()
, per l'output di testo che può essere tradotto. __()
restituisce una stringa traducibile, fa _e()
eco a una stringa traducibile e _x()
restituisce una stringa traducibile con un determinato contesto. Probabilmente li hai già visti.
Poiché non è possibile ritenere che un file di traduzione contenga valori sicuri, l'utilizzo di queste funzioni durante l'output di una stringa traducibile garantisce che le stringhe in uscita non possano causare lo stesso problema descritto sopra.
Utilizzare queste funzioni quando si producono stringhe traducibili.