为了账号安全,请及时绑定邮箱和手机立即绑定

多姆文档避免初始 xml 标记

多姆文档避免初始 xml 标记

PHP
慕虎7371278 2022-09-17 22:23:42
问题:如何避免多姆文档创建初始 xml 标记?<?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 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞

您可以使用 而不是 ...另存为文件。取代saveHTMLFile();save()

$doc->save("auto_produced_xhtml.xhtml");

$doc->saveHTMLFile("auto_produced_xhtml.xhtml");

https://www.php.net/manual/en/domdocument.savehtmlfile.php


查看完整回答
反对 回复 2022-09-17
  • 1 回答
  • 0 关注
  • 93 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信