@@ 2849-2873 (lines=25) @@ | ||
2846 | case 'menu': |
|
2847 | case 'ol': |
|
2848 | case 'pre': |
|
2849 | case 'ul': |
|
2850 | /* If the stack of open elements has an element in scope |
|
2851 | with the same tag name as that of the token, then generate |
|
2852 | implied end tags. */ |
|
2853 | if ($this->elementInScope($token['name'])) { |
|
2854 | $this->generateImpliedEndTags(); |
|
2855 | ||
2856 | /* Now, if the current node is not an element with |
|
2857 | the same tag name as that of the token, then this |
|
2858 | is a parse error. */ |
|
2859 | // w/e |
|
2860 | ||
2861 | /* If the stack of open elements has an element in |
|
2862 | scope with the same tag name as that of the token, |
|
2863 | then pop elements from this stack until an element |
|
2864 | with that tag name has been popped from the stack. */ |
|
2865 | for ($n = count($this->stack) - 1; $n >= 0; $n--) { |
|
2866 | if ($this->stack[$n]->nodeName === $token['name']) { |
|
2867 | $n = -1; |
|
2868 | } |
|
2869 | ||
2870 | array_pop($this->stack); |
|
2871 | } |
|
2872 | } |
|
2873 | break; |
|
2874 | ||
2875 | /* An end tag whose tag name is "form" */ |
|
2876 | case 'form': |
|
@@ 2930-2954 (lines=25) @@ | ||
2927 | /* An end tag whose tag name is "dd", "dt", or "li" */ |
|
2928 | case 'dd': |
|
2929 | case 'dt': |
|
2930 | case 'li': |
|
2931 | /* If the stack of open elements has an element in scope |
|
2932 | whose tag name matches the tag name of the token, then |
|
2933 | generate implied end tags, except for elements with the |
|
2934 | same tag name as the token. */ |
|
2935 | if ($this->elementInScope($token['name'])) { |
|
2936 | $this->generateImpliedEndTags(array($token['name'])); |
|
2937 | ||
2938 | /* If the current node is not an element with the same |
|
2939 | tag name as the token, then this is a parse error. */ |
|
2940 | // w/e |
|
2941 | ||
2942 | /* If the stack of open elements has an element in scope |
|
2943 | whose tag name matches the tag name of the token, then |
|
2944 | pop elements from this stack until an element with that |
|
2945 | tag name has been popped from the stack. */ |
|
2946 | for ($n = count($this->stack) - 1; $n >= 0; $n--) { |
|
2947 | if ($this->stack[$n]->nodeName === $token['name']) { |
|
2948 | $n = -1; |
|
2949 | } |
|
2950 | ||
2951 | array_pop($this->stack); |
|
2952 | } |
|
2953 | } |
|
2954 | break; |
|
2955 | ||
2956 | /* An end tag whose tag name is one of: "h1", "h2", "h3", "h4", |
|
2957 | "h5", "h6" */ |