Quando utilizzare esc_html e quando utilizzare sanitize_text_field?


11

Sembra che facciano quasi lo stesso tipo di lavoro. Così...

Quando dovrei usare esc_html()invece di sanitize_text_field()?

Risposte:


19

esc_html() è più o meno senza perdita: trasforma semplicemente il markup HTML in testo visibile codificato, in modo che non venga visualizzato come markup dal browser.

Semanticamente è una via di fuga , quindi è pensato per rendere sicuro l' output alla pagina .

sanitize_text_field()tuttavia in realtà rimuove tutto il markup HTML, nonché spazi bianchi extra. Non lascia altro che un semplice testo.

Semanticamente è igienizzante , quindi è pensato per rendere sicuro l' input salvato .


non è meglio usare esc_html sia per l'output che per il salvataggio? Comunque non visualizzerò alcun markup .. quindi quando dovrei usare sanitize_text_field ()?
Sì,

1
@yeahman "meglio" come? Stanno facendo cose nettamente diverse. Il markup di scarto di solito viene utilizzato per cose in cui non è previsto il markup, ad esempio un modulo che prende un nome.
Rarst

Voglio dire memorizza ciò che l'utente vede e ha input ... come hai detto che è senza perdita di dati (ad esempio, inserisce "il tag <head> è dove dovresti includere i tuoi file css", si aspetta di vedere <head> in il suo posto). Per un campo nome, controllerei l'input tramite validazione; non è più adatto?
Sì,

Sono interessato alle differenze tra sanitize_text_field()estrip_tags
myol,

strip_tags è usato in sanitize_text_field () se non sbaglio
yeahman
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.