PHP 8.6.0 Beta 1 is available for testing

DOMImplementation::createDocument

(PHP 5, PHP 7, PHP 8)

DOMImplementation::createDocument Создаёт объект класса DOMDocument заданного типа с его элементом document

Описание

public function DOMImplementation::createDocument(? string $namespace = null , string $qualifiedName = "", ? DOMDocumentType $doctype = null ): DOMDocument

Создаёт объект класса DOMDocument заданного типа с его элементом document.

Список параметров

namespace

URI пространства имён создаваемого элемента document.

qualifiedName

Квалифицированное имя создаваемого элемента document.

doctype

Тип создаваемого элемента document или null .

Возвращаемые значения

Новый объект класса DOMDocument . Если аргументы namespace, qualifiedName, и doctype имеют значение null, возвращаемый объект DOMDocument будет пустым и без элемента document.

Ошибки

Может выбросить исключение DOMException со следующими кодами ошибок:

DOM_WRONG_DOCUMENT_ERR

Возникает, если аргумент doctype уже использовался с другим документом или был создан в другой реализации.

DOM_NAMESPACE_ERR

Возникает, если обнаружена ошибка в строках namespace и qualifiedName.

Список изменений

Версия Описание
8.4.0 Теперь у функции предварительный возвращаемый тип DOMDocument .
8.0.3 namespace теперь допускает значение null.
8.0.0 doctype теперь допускает значение null.
8.0.0 При статическом вызове функции теперь будет выбрасываться ошибка Error . Ранее выдавалась ошибка уровня E_DEPRECATED .

Смотрите также

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей 3 notes

up
9
eboyjr
16 years ago
To add on to the other example, here's how to create an XHTML 1.0 transitional document with head, title, and body elements.
<?php
$document = DOMImplementation::createDocument(null, 'html',
 DOMImplementation::createDocumentType("html", 
 "-//W3C//DTD XHTML 1.0 Transitional//EN", 
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"));
$document->formatOutput = true;
$html = $document->documentElement;
$head = $document->createElement('head');
$title = $document->createElement('title');
$text = $document->createTextNode('Title of Page');
$body = $document->createElement('body');
$title->appendChild($text);
$head->appendChild($title);
$html->appendChild($head);
$html->appendChild($body);
echo $document->saveXML();
?>

This outputs: (http links removed due to spam)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "doctype.dtd"> 
<html xmlns="w3org1999xhtml"> 
 <head> 
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
 <title>Title of Page</title> 
 </head> 
 <body></body> 
</html> 
Note the saveXML function. If saveHTML was used instead, you get the output:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "doctype.dtd"> 
<html> 
<head><title>Title of Page</title></head> 
<body></body> 
</html>
up
2
arturm at union dot com dot pl
20 years ago
To create HTML document with doctype:
<?php
$doctype = DOMImplementation::createDocumentType("html",
 "-//W3C//DTD HTML 4.01//EN",
 "http://www.w3.org/TR/html4/strict.dtd");
$doc = DOMImplementation::createDocument(null, 'html', $doctype);
?>
up
0
sleistico at gmail dot com
8 years ago
I just recently got an error, having to do with deprecation, by using the type of calls in the other example listed here. What I had to do instead looks like this...
$htmldoc = (new DOMImplementation)->createDocument(null, 'html', (new DOMImplementation)->createDocumentType("html"));
This creates a document with <!DOCTYPE html> at the top of it.
+Добавить

AltStyle によって変換されたページ (->オリジナル) /