Почему W3C Validator не принимает теги <? Php include () в HTML5?

Я пытался проверить простую страницу 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"); ?> 

Те теки PHP не должны отображаться в вашей разметке. Они будут записаны в вашем коде, но только ваш веб-сервер должен увидеть те – страница, сгенерированная вашим сервером, не будет иметь эти теги видимыми.

Я предполагаю, что вы копируете свой источник и вставляете в валидатор? Попробуйте просмотреть страницу в своем браузере (при условии, что вы используете локальный веб-сервер, например Wamp или Xampp), просмотреть исходный код, а затем скопировать и вставить этот код вместо прямого из вашего редактора.

<?php недействителен HTML на любом диалекте. Парсер HTML никогда не должен видеть теги <?php , так как они оцениваются на сервере. Таким образом, правильно, что валидатор жалуется.

<\?php include() ?> – это тег PHP, который должен быть обработан процессором PHP. Это недействительный тег HTML.