Bug IE et l’apostrophe
Internet Explorer n’affiche pas le caractère & apos ; (apostrophe) en XHTML

Si vous utilisez un entête XHTML, Internet Explorer n’affiche pas les apostrophes mais son entité HTML & apos ;.
Cela est du à un bug d’IE, en effet, en HTML & apos ; n’est pas une entité valide, alors qu’en XML (et donc XHTML) c’est une entité valide !
Pour ma part j’ai deux solutions à ce problème, si je suis en XML je déclare un MIME-type text/xml (force IE à utiliser son parser xml).
Dans le cas d’XHTML, j’utilise l’entité & #39 ;.
Pour PHP, voici une petite fonction (compatible smarty) :
function parse4BugAposIE($txt)
{
$result = str_replace(''', ''', $txt);
return $result;
}

Commentaires