Doctype Definition mit DOM erzeugen - wie?
Whitesnake
- php
Es geht genauer gesagt um folgende Zeile:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Wie erzeugt man sowas? Die normalen Elemente wie HTML und nachfolgend sind klar, aber wie funktioniert das mit Doctype?
Hallo,
Es geht genauer gesagt um folgende Zeile:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Wie erzeugt man sowas? Die normalen Elemente wie HTML und nachfolgend sind klar, aber wie funktioniert das mit Doctype?
Warum schreibst du das nicht einfach genau so an der entsprechenden Stelle in deiner PHP datei?
Oder mit echo?
Oder http://www.php.net/manual/en/ref.dom.php --> DOMDocumentType
Grüße
Thomas
Weil ich vielleicht das ganze nicht in eine .php generiere?!?
Hallo,
Weil ich vielleicht das ganze nicht in eine .php generiere?!?
Grüße
Thomas
Man kann mittels php auch stinknormalen HTML Code generieren und das mache ich. Genauer gesagt generiere ich keinen, sondern schreibe ihn in eine .htm Datei rein. Zu jeder guten HTML Datei gehört auch eine Doctype Definition.
Hab es jetzt so probiert, hat erwartungsgemäß nicht funktioniert:
$doctype=$doc->createDocumentType("HTML PUBLIC", "", "-//W3C//DTD HTML 4.01 Transitional//EN");
Hallo,
Hab es jetzt so probiert, hat erwartungsgemäß nicht funktioniert:
$doctype=$doc->createDocumentType("HTML PUBLIC", "", "-//W3C//DTD HTML 4.01 Transitional//EN");
Das sollte so aussehen:
$doctype=$doc->createDocumentType("HTML", "-//W3C//DTD HTML 4.01 Transitional//EN", "");
Der erste Parameter kennzeichnet den Dokumenttyp (hier HTML, aka Wurzelelement), der zweite den Public-Identifier und der dritte den System-Identifier (DTD-Referenz, hier leer).
Die Zeichenketten PUBLIC bzw. SYSTEM werden dann bei der Verarbeitung generiert.
MfG, Thomas
Liefert bei mir leider nur folgendes:
Fatal error: Call to undefined method DOMDocument::createDocumentType() in verzeichnis/forenbereichgenerator.php on line 35
Das neue Dokument hab ich übrigens so aufgerufen
$doc=new domDocument;
Hallo,
Fatal error: Call to undefined method DOMDocument::createDocumentType() in verzeichnis/forenbereichgenerator.php on line 35
Das neue Dokument hab ich übrigens so aufgerufen
$doc=new domDocument;
createDocumentType() ist auf DOMImplementation anzuwenden, z. B. so:
<?php
$imp=new DOMImplementation;
$doctype=$imp->createDocumentType("HTML","-//W3C//DTD HTML 4.01 Transitional//EN","");
$rootname="html";
$namespace="";
$doc=$imp->createDocument($namespace,$rootname,$doctype);
$root=$doc->documentElement;
$head=$doc->createElement("head");
$body=$doc->createElement("body");
$root->appendChild($head);
$root->appendChild($body);
print "<pre>".htmlentities($doc->saveHTML())."</pre>";
?>
Ergebnis:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head></head>
<body></body>
</html>
MfG, Thomas
Hallo! Auf sowas wär ich nie gekommen, es hat aber wunderbar geklappt, wieder ein Problem mehr gelöst. Vielen Dank!