File: HTMLDocument_serialize_void_elements.phpt

package info (click to toggle)
php8.4 8.4.11-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 208,108 kB
  • sloc: ansic: 1,060,628; php: 35,345; sh: 11,866; cpp: 7,201; pascal: 4,913; javascript: 3,091; asm: 2,810; yacc: 2,411; makefile: 689; xml: 446; python: 301; awk: 148
file content (103 lines) | stat: -rw-r--r-- 2,142 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
--TEST--
Dom\HTMLDocument serialization of void elements
--EXTENSIONS--
dom
--FILE--
<?php

$dom = Dom\HTMLDocument::createEmpty();
$container = $dom->createElement("container");
$dom->append($container);

$tags = [
    "area",
    "base",
    "br",
    "col",
    "embed",
    "hr",
    "img",
    "input",
    "link",
    "meta",
    "source",
    "track",
    "wbr",
    "basefont",
    "bgsound",
    "frame",
    "keygen",
    "param",
];

foreach ($tags as $tag) {
    $element = $container->appendChild($dom->createElement($tag));
    $element->appendChild($dom->createElement("inner"));
    $element->after("\n");
    echo "$tag: ";
    var_dump($dom->saveHtml($element));

    $element = $container->appendChild($dom->createElementNS("http://php.net/foo", "x:$tag"));
    $element->appendChild($dom->createElement("inner"));
    $element->after("\n");
}

echo $dom->saveHtml();

?>
--EXPECT--
area: string(6) "<area>"
base: string(6) "<base>"
br: string(4) "<br>"
col: string(5) "<col>"
embed: string(7) "<embed>"
hr: string(4) "<hr>"
img: string(5) "<img>"
input: string(7) "<input>"
link: string(6) "<link>"
meta: string(6) "<meta>"
source: string(8) "<source>"
track: string(7) "<track>"
wbr: string(5) "<wbr>"
basefont: string(10) "<basefont>"
bgsound: string(9) "<bgsound>"
frame: string(7) "<frame>"
keygen: string(8) "<keygen>"
param: string(7) "<param>"
<container><area>
<x:area><inner></inner></x:area>
<base>
<x:base><inner></inner></x:base>
<br>
<x:br><inner></inner></x:br>
<col>
<x:col><inner></inner></x:col>
<embed>
<x:embed><inner></inner></x:embed>
<hr>
<x:hr><inner></inner></x:hr>
<img>
<x:img><inner></inner></x:img>
<input>
<x:input><inner></inner></x:input>
<link>
<x:link><inner></inner></x:link>
<meta>
<x:meta><inner></inner></x:meta>
<source>
<x:source><inner></inner></x:source>
<track>
<x:track><inner></inner></x:track>
<wbr>
<x:wbr><inner></inner></x:wbr>
<basefont>
<x:basefont><inner></inner></x:basefont>
<bgsound>
<x:bgsound><inner></inner></x:bgsound>
<frame>
<x:frame><inner></inner></x:frame>
<keygen>
<x:keygen><inner></inner></x:keygen>
<param>
<x:param><inner></inner></x:param>
</container>