Salut,
Je compte bidouiller quelques pages en XHTML 1.1 sans pour autant me rendre incompatible avec différentes versions d'IE. Du coup, j'ai fait un code répondant à ces exigences... mais au passage, ben, je me suis passé des commentaires conditionnels via PHP (parce que si je peux me passer de code spécial M$croft, je préfère).
Ma question est de savoir si ce que j'ai fait convient et si, ce n'est pas le cas, pourquoi ?
-> On ne parle que des commentaires conditionnels sans évoquer cette version PHP, quelle en est la raison ?
Ah! puis si vous voyez de quoi parfaire ce code, je suis tout ouïe... Merci.
exemple de css associé :
Je compte bidouiller quelques pages en XHTML 1.1 sans pour autant me rendre incompatible avec différentes versions d'IE. Du coup, j'ai fait un code répondant à ces exigences... mais au passage, ben, je me suis passé des commentaires conditionnels via PHP (parce que si je peux me passer de code spécial M$croft, je préfère).
Ma question est de savoir si ce que j'ai fait convient et si, ce n'est pas le cas, pourquoi ?
-> On ne parle que des commentaires conditionnels sans évoquer cette version PHP, quelle en est la raison ?
Ah! puis si vous voyez de quoi parfaire ce code, je suis tout ouïe... Merci.

<?php
ob_start("ob_gzhandler");
$test = stristr($_SERVER["HTTP_ACCEPT"], "application/xhtml+xml");
if($test)
{
header("content-type: application/xhtml+xml; charset=utf-8");
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">'."\n";
}
else
{
header("content-type: text/html; charset=utf-8");
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'."\n";
}
?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"<?php if(!$test) echo ' lang="fr"'; ?>>
<head>
<meta http-equiv="content-type" content="<?php echo $test ? 'application/xhtml+xml' : 'text/html'; ?>; charset=utf-8" />
<title>Page XHTML 1.1</title>
<style type="text/css"><?php echo $test ? '<![CDATA['."\n" : '/*<![CDATA[*/'."\n"; ?>
@import url('style.css.php');
<?php
$agent = getenv("HTTP_USER_AGENT");
if(ereg("MSIE 7", $agent) && !ereg("Opera", $agent))
{
echo "\t\t\t@import url('styleIE7.css.php');\n";
}
elseif(ereg("MSIE 6", $agent) && !ereg("Opera", $agent))
{
echo "\t\t\t@import url('styleIE6.css.php');\n";
}
elseif(ereg("MSIE 5.5", $agent) && !ereg("Opera", $agent))
{
echo "\t\t\t@import url('styleIE5_5.css.php');\n";
}
elseif(ereg("MSIE 5.0", $agent) && !ereg("Opera", $agent))
{
echo "\t\t\t@import url('styleIE5.css.php');\n";
}
?>
<?php echo $test ? ']]>' : '/*]]>*/'; ?></style>
<script type="text/javascript" src="script.js.php"></script>
</head>
<body>
<p id="nojava">test</p>
</body>
</html>
exemple de css associé :
<?php
ob_start("ob_gzhandler");
header("content-type: text/css; charset=utf-8");
?>
@media screen, projection
{
body
{
background-color: #FFF;
color: #000;
font-size: 100%;
}
p
{
font-size: 1em;
color: red;
}
}