У меня есть PHP include, который содержит как HTML, так и PHP код и включен на другую страницу, которая уже имеет <!doctype html>
тег. Валидатор HTML (w3.org) сообщает, что у него есть ошибка при проверке включения, потому что мой файл включения не содержит этот тег, но поскольку включение используется на страницах, где объявлен doctype, действительно ли необходимо объявить его в том числе?
Пример:
include.php
<div>
<p> Hello
<?php
echo "world!";
?></p> </div>
index.php
<!doctype html>
<html>
<head></head>
<body>
<?php
include ("include.php");
?>
</body>
</html>
Ошибка: тип документа не может быть определен, так как документ
не было правильного объявления DOCTYPE. (Include.php)
Ваша проблема в том, что вы пытаетесь проверить include.php
как будто это был документ HTML. Это не так, это фрагмент HTML (и он не должен иметь собственное объявление Doctype).
Если вы хотите проверить его независимо от страниц, которые его содержат, создайте минимальный HTML-документ-оболочку и включите его в него, а затем проверьте документ-оболочку.
Других решений пока нет …