Qual é a diferença entre as funções esc_ *?

8

Eu li o WordPress profissional e ele diz:

esc_htmlA função é usada para limpar dados que contêm HTML. Esta função codifica caracteres especiais em suas entidades HTML

esc_attr A função é usada para escape de atributos HTML

esc_url. Esta função deve ser usada para limpar a URL quanto a caracteres ilegais. Mesmo que o href seja tecnicamente um atributo HTML

Qual a diferença entre estes?

Se eu tiver

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

Todos < >seriam convertidos para &lt; &gt;? O URL será algo parecido %xxx?

Jiew Meng
fonte

Respostas:

8

esc_htmle esc_attrsão quase idênticas, a única diferença é que a saída é passada por filtros com nomes diferentes ( esc_htmle attribute_escaperespectivamente).

esc_urlé mais complexo e específico, lida com caracteres que não podem estar em URLs e protocolos permitidos (cuja lista pode ser passada como segundo argumento). Também anexará a entrada com o http://protocolo se ele não estiver presente (e o link não for relativo).

Rarst
fonte