¿Cuál es la diferencia entre las funciones esc_ *?

8

He leído WordPress profesional y dice:

esc_htmlLa función se utiliza para eliminar datos que contienen HTML. Esta función codifica caracteres especiales en sus entidades HTML

esc_attr La función se utiliza para escapar de los atributos HTML

esc_url. Esta función debe usarse para eliminar la URL de caracteres ilegales. Aunque href es técnicamente un atributo HTML

¿Cuál es la diferencia entre estos?

Si tengo

<script>alert('hello world!');</script>this is some content

¿Sería todo < >convertido a &lt; &gt;? ¿Será la URL algo así %xxx?

Jiew Meng
fuente

Respuestas:

8

esc_htmly esc_attrson casi idénticos, la única diferencia es que la salida se pasa a través de filtros con nombres diferentes ( esc_htmly attribute_escaperespectivamente).

esc_urles más complejo y específico, trata con caracteres que no pueden estar en URL y protocolos permitidos (la lista de los cuales puede pasarse como segundo argumento). También antepondrá la entrada con el http://protocolo si no está presente (y el enlace no es relativo).

Rarst
fuente