我试图验证一个简单的HTML5页面,它成功验证除了标记为错误的三个<?php include
语句实例之外的所有内容。我无法弄清楚是什么让它不带PHP标签。为什么会这样?以下是它输出的三个错误:
Validation Output: 3 Errors
Line 29, Column 5: Saw <?. Probable cause: Attempt to use an XML processing instruction in HTML. (XML processing instructions are not supported in HTML.)
<?php include("inc/main-menu.php"); ?>
Line 87, Column 9: Saw <?. Probable cause: Attempt to use an XML processing instruction in HTML. (XML processing instructions are not supported in HTML.)
2007-<?php echo date("Y"); ?>
Line 94, Column 3: Saw <?. Probable cause: Attempt to use an XML processing instruction in HTML. (XML processing instructions are not supported in HTML.)
<?php include_once("inc/analytics.php"); ?>
答案 0 :(得分:12)
这些PHP标记不应出现在您的标记中。它们将写在您的代码中,但只有您的Web服务器应该看到这些 - 您的服务器生成的页面不会显示这些标记。
我猜你是在复制你的来源并粘贴到验证器中?尝试在浏览器中查看页面(假设您正在运行本地Web服务器,如Wamp或Xampp),查看源代码,然后复制并粘贴该代码,而不是直接从编辑器中进行。
答案 1 :(得分:3)
<?php
在任何方言中都不是有效的HTML。 HTML解析器永远不应该看到<?php
标记,因为它们是在服务器上进行评估的。因此,验证者抱怨是正确的。
答案 2 :(得分:1)
<\?php include() ?>
是PHP标记,需要由PHP处理器呈现。它不是有效的HTML标记