Extrait de la doc php: htmlspecialchars -- Convertit tous les caractères spéciaux en entité HTML.
Description: string htmlspecialchars ( string string [, int quote_style])
Certains caractères ont une valeur avec HTML, et doivent être remplacés par des balises HTML pour conserver leur valeur. htmlspecialchars() retourne une chaîne dont tous les caractères sensibles ont été remplacés par leur équivalent.
htmlspecialchars() est utile pour empêcher un utilisateur de fournir un texte avec un sens HTML, dans un formulaire.
htmlspecialchars() est pratique pour éviter que les textes fournis par les utilisateurs contiennent des balises HTML, comme dans le cas d’un livre d’or ou d’une tribune. htmlspecialchars() prend un argument optionnel qui indique ce qui doit être fait avec les guillemets simples et doubles. ENT_COMPAT (par défaut) convertira les guillemets doubles, et ignorera les guillemets simples. ENT_QUOTES convertira les deux types de guillemets et ENT_NOQUOTES les ignorera tous les deux.
Actuellement, PHP remplace les valeurs suivantes :
’&’ (et commercial) devient ’&’
’"’ (guillemet double) devient ’"’ si ENT_NOQUOTES n’est pas actif
’’’ (guillemet simple) devient ’’’ si ENT_QUOTES est actif
’<’ (inférieur à) devient ’<’
’>’ (supérieur à) devient ’>’
htmlentities convertit lui tous les caractères. Donc plus complet.
Par contre je ne suis pas sur de comprendre, cela marche avec htmlspecialchars et pas avec htmlentities ?
En revanche, j’avais aussi un souci sur mon tooltip avec les accents. Du coup, j’ai testé de remplacer htmlentities par htmlspecialchars dans $this_tooltip = htmlentities($this_tooltip); (li 230 du snippet v 2.1.1).
Tu parles de quel snippet Perrine ? de tvTagcloud ?