关于PHP和xHTML5内容类型

时间:2014-08-05 23:05:52

标签: php xml xhtml content-type xhtml-1.0-strict

因此,当我在W3C上阅读时,我可以在我的文件的开头添加一个XML指令,如下所示:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html>

但是我的文件需要是动态的,这就是我使用.php扩展名的原因。当然我可以在DOCTYPE之前echo '<?xml version="1.0" encoding="UTF-8" ?>';,但内容类型仍为text/html,如果我在PHP标题中将其更改为application/xhtml+xml, cahrset=UTF-8,系统会提示我下载。我知道我可以使用text/html内容类型,但我想拥有至少有效的xHTML(和CSS)。我一直都遵循标准而且我已经习惯了。我不会开始编写无效的HTML / xHTML。

编辑:

以下是代码:

    header('Content-Type: application/xhtml+xml; charset=UTF-8');

编辑2:

<!-- ... -->
<noscript>
    <link href="./no-java-script.css.php" rel="stylesheet" type="text/css" media="all" />
    <meta http-equiv="refresh" content="0; url=/no-javascript.aspx" />
</noscript>
<!-- ... -->
<noscript>
    <div onload="return false;" class="no-script"><p>Sorry, your browser does not support JavaScript! Click <a href="/no-javascript.aspx" hreflang="en-US" class="show">here</a> if it doesn't redirect you automatically.</p></div>
</noscript>
<!-- ... -->

2 个答案:

答案 0 :(得分:1)

看一下这个文件:

http://www.webstandards.org/learn/articles/askw3c/sep2003/

  

但有些浏览器不了解application / xhtml + xml。

     

确实,这是当前采用的最大问题之一   新的MIME类型,特别是因为Internet Explorer没有   认识它(至少对于Windows和Windows上的任何版本都高达6.x)   苹果系统)。当然,这是采用新的常见问题   技术,它通常会随着时间的推移而改善。

所以是的,我们应该在几年内使用application/xhtml+xml。目前这是一个坏主意,因为并非所有常用浏览器都支持它。

所以我建议:在未来5年内使用text/html。好消息是,Xp支持结束了。有时候可能会来这一天,最后一个IE 6版本被淘汰;)

答案 1 :(得分:0)

echo的php.ini值为short_open_tagon时,您必须1 PHP中的XML声明行(这是默认值,并且很常见)。所以,这一切都没问题。

至于标题:application/xhtml+xml MIME类型可能是正确的,但(如您所见),某些浏览器本身并未设置为处理此类型,因此他们提供下载它。关于如何处理这个问题有很多讨论,例如参见http://www.webstandards.org/learn/articles/askw3c/sep2003/或输入&#34; xhtml mime type&#34;进入你最喜欢的搜索引擎。