web-dev-qa-db-fra.com

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

J'ai lu WordPress professionnel et il est écrit:

La fonction esc_html est utilisée pour nettoyer les données contenant du HTML. Cette fonction code des caractères spéciaux dans leurs entités HTML

La fonction esc_attr est utilisée pour échapper des attributs HTML

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

Quelle est la différence entre ceux-ci?

Si j'ai

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

Est-ce que tous les < > seraient convertis en &lt; &gt;? Est-ce que l'URL sera quelque chose comme %xxx?

8
Jiew Meng

esc_html et esc_attr sont presque identiques, la seule différence est que la sortie est transmise à travers des filtres portant un nom différent (respectivement esc_html et attribute_escape).

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

8
Rarst