W3C has ended support for the polyglot markup.那么我是否必须将我的网站转换为使用常规HTML5而不是XHTML?他们如何放弃这个概念会影响现有网站?我希望有一个完全有效的标记,如果该代码与标准冲突,我将不得不删除它。
答案 0 :(得分:3)
像往常一样,在对XHTML的评论中进行更多的抨击而不真正理解它是什么。
您可以 使用最严格的工具。在PHP的示例中,您应始终检查变量isset
。为什么?黑客将从表单中删除input
元素,提交表单,然后尝试查看服务器将发送的错误消息。但是如果你降低PHP错误信息的严格性,你会认为一切都很好而且花花公子。
我看到一个人强调了三天为什么只有Safari才能正确呈现某种风格。如果他使用了XML解析器,那么页面会(在Firefox中)完全失败,并且他会收到一条错误消息,指出完全错误是什么,它是什么行以及该行上的哪一列(其他浏览器渲染到该行,因此默认情况下使用Firefox进行测试)。他的错误?他错过了关于他的一个属性的双引号;屏幕门在他的潜艇上敞开着。
这并不意味着你不能使用HTML5,因为我们在这里谈论语法。理想情况下,您应该使用XML解析器来使用XHTML5,HTML5。它没有捕获所有问题(示例中的重复id
属性值),但它需要您在更高级别上进行编码。
是的,IE8不支持XHTML(它支持XML),但它甚至不值得考虑支持IE8。坦率地说,这是唯一一个不支持XHTML的任何“重要”市场份额的浏览器,虽然这并不意味着你不能进行内容协商:
<?php
if (stristr($_SERVER['HTTP_ACCEPT'],'application/xhtml+xml'))
{
header('Content-Type: application/xhtml+xml');
echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
}
?>
请记住,如果IE8看到XML声明,那么IE8将在怪异模式下渲染,尽管截至2016年这是一个没有实际意义的点,因为它不再是一个值得支持的浏览器,除非你作为专家付钱专门处理那个浏览器。
我的整个平台使用XHTML5,它大大提高了标准,开发时间和技能。总是质疑那些反对做一些需要更多技能的人的诚信,有一个理由就是说存在一分钱一分钱。
如果您正在寻找一种快速的方法来调整XML解析器的使用,尽管没有时间来替换几十个或几百个<br>
示例,我强烈建议您考虑Advanced Find and Replace。选择一个目录,一个或多个文件类型(例如*.php;*.css;*.xml
)和您要查找的代码,然后选择要替换的内容。此外,它实际上运行速度更快,通过Wine模拟Linux的本地grep
命令,并且它超级便宜。要小心你如何进行大规模查找和替换,但是你的代码的白色空间越严格,你就会越好,并且总是先备份!