@@ -437,9 +437,11 @@ public function emitToken($token, $mode = null) {
437
437
$ this ->mode = self ::AFTER_HEAD ;
438
438
439
439
// Slight logic inversion here to minimize duplication
440
- /* A start tag with the tag name "head" or an end tag except "html". */
440
+ /* A start tag with the tag name "head". */
441
+ /* An end tag whose tag name is not one of: "body", "html", "br" */
441
442
} elseif (($ token ['type ' ] === HTML5_Tokenizer::STARTTAG && $ token ['name ' ] === 'head ' ) ||
442
- ($ token ['type ' ] === HTML5_Tokenizer::ENDTAG && $ token ['name ' ] !== 'html ' )) {
443
+ ($ token ['type ' ] === HTML5_Tokenizer::ENDTAG && $ token ['name ' ] !== 'html ' &&
444
+ $ token ['name ' ] !== 'body ' && $ token ['name ' ] !== 'br ' )) {
443
445
// Parse error. Ignore the token.
444
446
$ this ->ignored = true ;
445
447
@@ -784,10 +786,10 @@ public function emitToken($token, $mode = null) {
784
786
* tag with the same tag name as node had been seen, then
785
787
* jump to the last step. */
786
788
if (($ token ['name ' ] === 'li ' && $ node ->tagName === 'li ' ) ||
787
- ($ node ->tagName === 'dd ' || $ node ->tagName === 'dt ' )) { // limited conditional
789
+ ($ token [ ' name ' ] !== ' li ' && ( $ node ->tagName === 'dd ' || $ node ->tagName === 'dt ' ) )) { // limited conditional
788
790
$ this ->emitToken (array (
789
791
'type ' => HTML5_Tokenizer::ENDTAG ,
790
- 'name ' => $ token [ ' name ' ] ,
792
+ 'name ' => $ node -> tagName ,
791
793
));
792
794
break ;
793
795
}
0 commit comments