問(wèn)題:如何避免多姆文檔創(chuàng)建初始 xml 標(biāo)記?<?xml version="1.0"?>想要的代碼:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>My site</title> </head> <body> </body></html>使用 DOM 文檔生成的代碼:<?xml version="1.0"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>My site</title> </head> <body></body></html>我的腳本:<?php/** * Ref: * https://stackoverflow.com/questions/19482826/using-domdocument-to-create-elements-in-an-html-file * https://www.php.net/manual/en/domimplementation.createdocumenttype.php */// Creates an instance of the DOMImplementation class$imp = new DOMImplementation; // Doctype $dtd = $imp->createDocumentType( 'html', '-//W3C//DTD XHTML 1.0 Transitional//EN', 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd' );// Base document$doc = $imp->createDocument("", "", $dtd);$doc->formatOutput = true;/** * Construct tag skeleton. */// [L-1]$html=$doc->appendChild( $doc->createElementNS("http://www.w3.org/1999/xhtml","html"));$html->setAttribute("lang", "en");$html->setAttribute("xml:lang", "en");$doc->appendChild($html); // [L-2] $head=$html->appendChild( $doc->createElement('head') ); // [L-3] $title=$head->appendChild( $doc->createElement( 'title', "My site" ) ); // [L-2] $body=$html->appendChild( $doc->createElement('body') );// Saveecho $doc->saveHTML();$doc->save("auto_produced_xhtml.xhtml");
1 回答

動(dòng)漫人物
TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個(gè)贊
您可以使用 而不是 ...另存為文件。取代saveHTMLFile();
save()
$doc->save("auto_produced_xhtml.xhtml");
跟
$doc->saveHTMLFile("auto_produced_xhtml.xhtml");
https://www.php.net/manual/en/domdocument.savehtmlfile.php
- 1 回答
- 0 關(guān)注
- 106 瀏覽
添加回答
舉報(bào)
0/150
提交
取消