2009-10-03 3 views

Répondre

6

non pas que ce « la solution finale », mais il est évident que vous devez échapper à toute chaîne littérale qui signifie ne pas contenir du code HTML Dans ce cas:.

<a title="<?php echo htmlspecialchars($title); ?>"> 
+0

En fait, vous pouvez avoir du HTML dans l'attribut title. Assurez-vous simplement de remplacer toutes les citations par " ... J'ai utilisé cette info-bulle jQuery (http://cssglobe.com/post/1695/easiest-tooltip-and-image-preview-using-jquery) et j'ai inclus tous les types de balisage HTML. – Mottie

+0

Oui, eh bien, vous pouvez en HTML et vous ne pouvez pas en XHTML. Même en HTML, vous devez échapper l'esperluette afin qu'elle ne soit pas évaluée en tant qu'entité. En général, c'est une meilleure idée d'échapper à tout, même si vous utilisez HTML. Cela ne devrait pas affecter le plugin tooltip, car il regarde la valeur analysée, pas le fichier HTML brut. –

3

Vous devez exécuter que par htmlspecialchars pour vous assurer que votre code HTML ne se cassera pas. .

2

Vous devez d'abord traduire les caractères spéciaux en entités HTML, facilement avec htmlentities().

<a title="<?php echo htmlentities($title); ?>"> 
+1

N'utilisez pas htmlentities() si vous n'en avez pas besoin. Utilisez htmlspecialchars() à la place. htmlentities() codera certains caractères même si nous n'en avons pas besoin, ce qui gaspille de l'espace. –

Questions connexes