| @@ 3939-3969 (lines=31) @@ | ||
| 3936 | ||
| 3937 | /* A start tag whose tag name is one of: "caption", "col", "colgroup", |
|
| 3938 | "tbody", "td", "tfoot", "th", "thead", "tr" */ |
|
| 3939 | } elseif ($token['type'] === HTML5::STARTTAG && in_array( |
|
| 3940 | $token['name'], |
|
| 3941 | array( |
|
| 3942 | 'caption', |
|
| 3943 | 'col', |
|
| 3944 | 'colgroup', |
|
| 3945 | 'tbody', |
|
| 3946 | 'td', |
|
| 3947 | 'tfoot', |
|
| 3948 | 'th', |
|
| 3949 | 'thead', |
|
| 3950 | 'tr' |
|
| 3951 | ) |
|
| 3952 | ) |
|
| 3953 | ) { |
|
| 3954 | /* If the stack of open elements does not have a td or th element |
|
| 3955 | in table scope, then this is a parse error; ignore the token. |
|
| 3956 | (innerHTML case) */ |
|
| 3957 | if (!$this->elementInScope(array('td', 'th'), true)) { |
|
| 3958 | // Ignore. |
|
| 3959 | ||
| 3960 | /* Otherwise, close the cell (see below) and reprocess the current |
|
| 3961 | token. */ |
|
| 3962 | } else { |
|
| 3963 | $this->closeCell(); |
|
| 3964 | return $this->inRow($token); |
|
| 3965 | } |
|
| 3966 | ||
| 3967 | /* A start tag whose tag name is one of: "caption", "col", "colgroup", |
|
| 3968 | "tbody", "td", "tfoot", "th", "thead", "tr" */ |
|
| 3969 | } elseif ($token['type'] === HTML5::STARTTAG && in_array( |
|
| 3970 | $token['name'], |
|
| 3971 | array( |
|
| 3972 | 'caption', |
|
| @@ 4178-4211 (lines=34) @@ | ||
| 4175 | ||
| 4176 | /* An end tag whose tag name is one of: "caption", "table", "tbody", |
|
| 4177 | "tfoot", "thead", "tr", "td", "th" */ |
|
| 4178 | } elseif (in_array( |
|
| 4179 | $token['name'], |
|
| 4180 | array( |
|
| 4181 | 'caption', |
|
| 4182 | 'table', |
|
| 4183 | 'tbody', |
|
| 4184 | 'tfoot', |
|
| 4185 | 'thead', |
|
| 4186 | 'tr', |
|
| 4187 | 'td', |
|
| 4188 | 'th' |
|
| 4189 | ) |
|
| 4190 | ) && $token['type'] === HTML5::ENDTAG |
|
| 4191 | ) { |
|
| 4192 | /* Parse error. */ |
|
| 4193 | // w/e |
|
| 4194 | ||
| 4195 | /* If the stack of open elements has an element in table scope with |
|
| 4196 | the same tag name as that of the token, then act as if an end tag |
|
| 4197 | with the tag name "select" had been seen, and reprocess the token. |
|
| 4198 | Otherwise, ignore the token. */ |
|
| 4199 | if ($this->elementInScope($token['name'], true)) { |
|
| 4200 | $this->inSelect( |
|
| 4201 | array( |
|
| 4202 | 'name' => 'select', |
|
| 4203 | 'type' => HTML5::ENDTAG |
|
| 4204 | ) |
|
| 4205 | ); |
|
| 4206 | ||
| 4207 | $this->mainPhase($token); |
|
| 4208 | } |
|
| 4209 | ||
| 4210 | /* Anything else */ |
|
| 4211 | } else { |
|
| 4212 | /* Parse error. Ignore the token. */ |
|
| 4213 | } |
|
| 4214 | } |
|