Я столкнулся с этой проблемой некоторое время назад, и это было потому, что я вообще не хотел, чтобы DOCTYPE
был там вообще.Я использовал фрагменты кода и с трудом заставлял возвращаемые значения быть необработанными с добавлением DOCTYPE
и HTML-тегов, когда их не должно быть.
Я собираюсь представить ответ, которого еще нет здесьна тот случай, если у тебя та же проблема, что и у меня.Мое решение фактически предотвращает добавление любых элементов DOCTYPE
, если у вас более новая версия php.Я считаю, что это минимум PHP v5.4 и выше, а также минимум LibXML v2.7.8.Если у вас есть обе эти версии в актуальном состоянии, это так же просто, как добавить флаг константы к вызову метода реализации loadHTML объекта DOMDocument.Константа равна LIBXML_HTML_NODEFDTD
, и она используется следующим образом ...
$doc = new DOMDocument();
$doc->loadHTML($someContentString, LIBXML_HTML_NODEFDTD);
Таким образом, дополнительный разбор вообще не требуется, и вы можете продолжать свою жизнь без этой проблемы DOCTYPE
.Если вам не нужен тег DOCTYPE
, в этом случае мой ответ и пусть кто-то другой найдет его через Google :)