Quelle est la différence entre les fonctions esc_ *?

8

J'ai lu WordPress professionnel et il dit:

esc_htmlest utilisée pour nettoyer les données contenant du HTML. Cette fonction encode les caractères spéciaux dans leurs entités HTML

esc_attr la fonction est utilisée pour échapper les attributs HTML

esc_url. Cette fonction doit être utilisée pour nettoyer l'URL des caractères illégaux. Même si le href est techniquement un attribut HTML

Quelle est la différence entre ceux-ci?

Si j'ai

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

Seraient tous < >convertis en &lt; &gt;? L'URL ressemblera- %xxxt-elle à quelque chose ?

Jiew Meng
la source

Réponses:

8

esc_htmlet esc_attrsont presque identiques, la seule différence est que la sortie est passée à travers des filtres nommés différemment ( esc_htmlet attribute_escaperespectivement).

esc_urlest plus complexe et spécifique, il traite des caractères qui ne peuvent pas être dans les URL et les protocoles autorisés (dont la liste peut être passée comme deuxième argument). Il ajoutera également l'entrée au http://protocole s'il n'est pas présent (et le lien n'est pas relatif).

Rarst
la source