提问人:PowerUser 提问时间:8/6/2014 最后编辑:PowerUser 更新时间:8/6/2014 访问量:358
关于 PHP 和 xHTML5 内容类型
About PHP and the xHTML5 content-type
问:
因此,当我在 W3C 上阅读时,我可以在文件的开头添加一个 XML 指令,如下所示:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html>
但是我的文件需要是动态的,这就是我使用 .php 扩展名的原因。当然,我可以在 DOCTYPE 之前使用,但内容类型仍然存在,如果我在 PHP 标头中将其更改为 我会提示下载。我知道我只能使用内容类型,但我希望至少拥有有效的 xHTML(和 CSS)。我一直在遵循这些标准,我已经习惯了。我不会开始编写无效的 HTML/xHTML。echo '<?xml version="1.0" encoding="UTF-8" ?>';
text/html
application/xhtml+xml, cahrset=UTF-8
text/html
编辑:
代码如下:
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>
<!-- ... -->
答:
请看一下这个文档:
http://www.webstandards.org/learn/articles/askw3c/sep2003/
但是有些浏览器不知道application/xhtml+xml。
事实上,这是采用当前最大的问题之一 的新 MIME 类型,尤其是因为 Internet Explorer 没有 识别它(至少对于 Windows 和 Mac OS)。当然,这是采用新 技术,它通常会随着时间的推移而改进。
所以是的,我们应该在几年内使用。目前这是一个坏主意,因为并非所有常用的浏览器都支持它。application/xhtml+xml
所以我的建议:在接下来的 5 年里使用。好消息是,Xp 支持结束了。也许有一天,最后一个 IE 6 版本会被取消;)text/html
评论
确实,当 php.ini 的值为 或(这是默认值,并且很常见)时,您必须在 PHP 中使用 XML 声明行。所以,这个一切都好。echo
short_open_tag
on
1
至于标题:MIME 类型可能是正确的,但是(正如您所体验的那样),某些浏览器没有设置为自己处理此类型,因此它们提供下载它。关于如何处理这个问题有很多讨论,例如 http://www.webstandards.org/learn/articles/askw3c/sep2003/ 或在你最喜欢的搜索引擎中输入“xhtml mime type”。application/xhtml+xml
评论
application/xhtml+xml
<noscript>
text/html
noscript
noscript