Soyez prudent lorsque vous faites cela. L'échappement HTML est une tâche sortie, et pas quelque chose que vous voulez faire avec des données que vous n'avez pas l'intention d'imprimer immédiatement sur la page.
Je pense que ce pages d'être assez explicite avec ce genre de chose, et vraiment séparer le filtrage du contenu de la échapper de contenu.
// First, get the tags as an array, filtered to be valid data
$tags = array_map('filterTag', explode(',', $_GET['tags']));
// Do whatever other processing with $tags
// NOW, create a version of the tags that you'll use for display only
// or do this step ONLY just prior to display
$tagsSafeForHtml = array_map('escapeForHtml', $tags);
function filterTag($tag)
{
// Use whatever combination of filtering functions you want
return trim(strip_tags($value));
}
function escapeForHtml($value)
{
// Use whatever escaping strategy that makes most sense for your content
return htmlspecialchars($value, ENT_COMPAT, 'UTF-8');
}
Vous n'avez pas utilisé 'strip_tags()' n'importe où. –
La façon dont la question a été posée, "Quel est un moyen rapide de rogner chaque élément et effectuer des fonctions de sécurité (dépouillement html, caractères spéciaux)?" m'a semblé laisser une certaine ambiguïté quant aux fonctions de sécurité qui seraient réellement appliquées, alors j'ai séparé les préoccupations. Vous pouvez écrire la fonction sterilize() comme vous le souhaitez. Je peux ajouter dans le décapage des étiquettes pour la concision je suppose. – zombat
J'ai toujours utilisé 'array_map()' mais je suppose que 'walk' est plus efficace si vous n'en avez pas besoin? – mpen