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

8

Eu li o WordPress profissional e ele diz:

  

esc_html function é usada para   esfregar dados que contenham HTML.   Esta função codifica   caracteres em suas entidades HTML

     

A função esc_attr é usada para escapar   Atributos HTML

     

esc_url . Esta função deve ser usada   para esfregar o URL para ilegal   personagens. 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 os < > serão convertidos em &lt; &gt; ? O URL será algo como %xxx ?

    
por Jiew Meng 11.09.2010 / 13:21

1 resposta

8

esc_html e esc_attr são quase idênticos, a única diferença é que a saída é passada por filtros com nomes diferentes ( esc_html e attribute_escape respectivamente).

esc_url é mais complexo e específico, lida com caracteres que não podem estar em URLs e protocolos permitidos (lista dos quais podem ser passados como segundo argumento). Ele também prefixará a entrada com o protocolo http:// se não estiver presente (e o link não for relativo).

    
por Rarst 11.09.2010 / 13:46