W3C has ended support for the polyglot markup.那么我是否必须将我的网站转换为使用常规HTML5而不是XHTML?他们如何放弃这个概念会影响现有网站?我希望有一个完全有效的标记,如果该代码与标准冲突,我将不得不删除它.
> XHTML使用XML解析器.
> HTML使用HTML解析器.
> XML解析器是严格的,它是一个对错误容忍度低的应用程序.
> HTML解析器很放松,并不介意你的潜水艇的屏幕门是否打开.
您可以而且应该使用最严格的工具.在PHP的示例中,您应该始终检查变量是否设置.为什么?黑客将从表单中删除输入元素,提交表单,然后尝试查看服务器将发送的错误消息.但是如果你降低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 '
请记住,IE8将在怪异模式下渲染,如果它看到XML声明,尽管截至2016年这是一个有争议的点,因为它不再是一个值得支持的浏览器,除非您作为专家处理该浏览器而获得报酬.
我的整个平台使用XHTML5,它大大提高了标准,开发时间和技能.总是质疑那些反对做一些需要更多技能的人的诚信,有一个理由就是为什么说一毛钱存在.
如果您正在寻找一种快速的方法来调整XML解析器的使用,尽管没有时间来替换数十或数百个< br>在示例中,我强烈建议考虑Advanced Find and Replace.选择一个目录,一个或多个文件类型(例如* .PHP; * .css; * .xml)和您要查找的代码,然后选择要替换的内容.此外,它实际运行速度更快,通过Wine模拟Linux的本机grep命令,它超级便宜.要小心你如何进行大规模查找和替换,但是你的代码的白色空间越严格,你就越好,并且总是先备份!