如何使用DOMDocument将脚本添加到HTML5

时间:2011-03-06 03:12:42

标签: php html5 domdocument

a)我是否正确地假设HTML5中的脚本正确格式为<script src="script.js"></script>

b)如何使用DOMDocument实现正确的结果?

$domImplementation = new \DOMImplementation ();     

$docType = $domImplementation->createDocumentType ( 'html', '', '' );       

$document = $domImplementation->createDocument ( 'http://www.w3.org/1999/xhtml', 'html', $docType );

$head = $document->createElement ( 'head' );

$script = $document->createElement ( 'script', '' );

$script->setAttribute ('src', 'script.js');

$head->appendChild ( $script );

生成

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

  <head>

    <script src="script.js"/>

HTML5验证器说

  

非void HTML元素上使用的自动关闭语法(/>)。忽略斜杠并将其视为开始标记。

1 个答案:

答案 0 :(得分:5)

Javascript标记,即使它们通过src=属性加载外部文件,也无法自动关闭。您可能需要向正在创建的DOM元素添加一些非空内容,以强制它非自行关闭。具有单个空格的textnode可以。