@@ 2070-2085 (lines=16) @@ | ||
2067 | } |
|
2068 | ||
2069 | /* An end tag with the tag name "head" */ |
|
2070 | } elseif ($token['type'] === HTML5::ENDTAG && $token['name'] === 'head') { |
|
2071 | /* If the current node is a head element, pop the current node off |
|
2072 | the stack of open elements. */ |
|
2073 | if ($this->head_pointer->isSameNode(end($this->stack))) { |
|
2074 | array_pop($this->stack); |
|
2075 | ||
2076 | /* Otherwise, this is a parse error. */ |
|
2077 | } else { |
|
2078 | // k |
|
2079 | } |
|
2080 | ||
2081 | /* Change the insertion mode to "after head". */ |
|
2082 | $this->mode = self::AFTER_HEAD; |
|
2083 | ||
2084 | /* A start tag with the tag name "head" or an end tag except "html". */ |
|
2085 | } elseif (($token['type'] === HTML5::STARTTAG && $token['name'] === 'head') || |
|
2086 | ($token['type'] === HTML5::ENDTAG && $token['name'] !== 'html') |
|
2087 | ) { |
|
2088 | // Parse error. Ignore the token. |
|
@@ 3649-3666 (lines=18) @@ | ||
3646 | array_pop($this->stack); |
|
3647 | ||
3648 | /* An end tag whose tag name is "colgroup" */ |
|
3649 | } elseif ($token['type'] === HTML5::ENDTAG && |
|
3650 | $token['name'] === 'colgroup' |
|
3651 | ) { |
|
3652 | /* If the current node is the root html element, then this is a |
|
3653 | parse error, ignore the token. (innerHTML case) */ |
|
3654 | if (end($this->stack)->nodeName === 'html') { |
|
3655 | // Ignore |
|
3656 | ||
3657 | /* Otherwise, pop the current node (which will be a colgroup |
|
3658 | element) from the stack of open elements. Switch the insertion |
|
3659 | mode to "in table". */ |
|
3660 | } else { |
|
3661 | array_pop($this->stack); |
|
3662 | $this->mode = self::IN_TABLE; |
|
3663 | } |
|
3664 | ||
3665 | /* An end tag whose tag name is "col" */ |
|
3666 | } elseif ($token['type'] === HTML5::ENDTAG && $token['name'] === 'col') { |
|
3667 | /* Parse error. Ignore the token. */ |
|
3668 | ||
3669 | /* Anything else */ |
|
@@ 4268-4289 (lines=22) @@ | ||
4265 | $this->insertElement($token); |
|
4266 | ||
4267 | /* An end tag with the tag name "frameset" */ |
|
4268 | } elseif ($token['name'] === 'frameset' && |
|
4269 | $token['type'] === HTML5::ENDTAG |
|
4270 | ) { |
|
4271 | /* If the current node is the root html element, then this is a |
|
4272 | parse error; ignore the token. (innerHTML case) */ |
|
4273 | if (end($this->stack)->nodeName === 'html') { |
|
4274 | // Ignore |
|
4275 | ||
4276 | } else { |
|
4277 | /* Otherwise, pop the current node from the stack of open |
|
4278 | elements. */ |
|
4279 | array_pop($this->stack); |
|
4280 | ||
4281 | /* If the parser was not originally created in order to handle |
|
4282 | the setting of an element's innerHTML attribute (innerHTML case), |
|
4283 | and the current node is no longer a frameset element, then change |
|
4284 | the insertion mode to "after frameset". */ |
|
4285 | $this->mode = self::AFTR_FRAME; |
|
4286 | } |
|
4287 | ||
4288 | /* A start tag with the tag name "frame" */ |
|
4289 | } elseif ($token['name'] === 'frame' && |
|
4290 | $token['type'] === HTML5::STARTTAG |
|
4291 | ) { |
|
4292 | /* Insert an HTML element for the token. */ |