| @@ 1242-1267 (lines=26) @@ | ||
| 1239 | } |
|
| 1240 | } |
|
| 1241 | ||
| 1242 | private function commentState() |
|
| 1243 | { |
|
| 1244 | /* Consume the next input character: */ |
|
| 1245 | $this->char++; |
|
| 1246 | $char = $this->char(); |
|
| 1247 | ||
| 1248 | /* U+002D HYPHEN-MINUS (-) */ |
|
| 1249 | if ($char === '-') { |
|
| 1250 | /* Switch to the comment dash state */ |
|
| 1251 | $this->state = 'commentDash'; |
|
| 1252 | ||
| 1253 | /* EOF */ |
|
| 1254 | } elseif ($this->char === $this->EOF) { |
|
| 1255 | /* Parse error. Emit the comment token. Reconsume the EOF character |
|
| 1256 | in the data state. */ |
|
| 1257 | $this->emitToken($this->token); |
|
| 1258 | $this->char--; |
|
| 1259 | $this->state = 'data'; |
|
| 1260 | ||
| 1261 | /* Anything else */ |
|
| 1262 | } else { |
|
| 1263 | /* Append the input character to the comment token's data. Stay in |
|
| 1264 | the comment state. */ |
|
| 1265 | $this->token['data'] .= $char; |
|
| 1266 | } |
|
| 1267 | } |
|
| 1268 | ||
| 1269 | private function commentDashState() |
|
| 1270 | { |
|
| @@ 1269-1295 (lines=27) @@ | ||
| 1266 | } |
|
| 1267 | } |
|
| 1268 | ||
| 1269 | private function commentDashState() |
|
| 1270 | { |
|
| 1271 | /* Consume the next input character: */ |
|
| 1272 | $this->char++; |
|
| 1273 | $char = $this->char(); |
|
| 1274 | ||
| 1275 | /* U+002D HYPHEN-MINUS (-) */ |
|
| 1276 | if ($char === '-') { |
|
| 1277 | /* Switch to the comment end state */ |
|
| 1278 | $this->state = 'commentEnd'; |
|
| 1279 | ||
| 1280 | /* EOF */ |
|
| 1281 | } elseif ($this->char === $this->EOF) { |
|
| 1282 | /* Parse error. Emit the comment token. Reconsume the EOF character |
|
| 1283 | in the data state. */ |
|
| 1284 | $this->emitToken($this->token); |
|
| 1285 | $this->char--; |
|
| 1286 | $this->state = 'data'; |
|
| 1287 | ||
| 1288 | /* Anything else */ |
|
| 1289 | } else { |
|
| 1290 | /* Append a U+002D HYPHEN-MINUS (-) character and the input |
|
| 1291 | character to the comment token's data. Switch to the comment state. */ |
|
| 1292 | $this->token['data'] .= '-' . $char; |
|
| 1293 | $this->state = 'comment'; |
|
| 1294 | } |
|
| 1295 | } |
|
| 1296 | ||
| 1297 | private function commentEndState() |
|
| 1298 | { |
|
| @@ 1442-1460 (lines=19) @@ | ||
| 1439 | } |
|
| 1440 | } |
|
| 1441 | ||
| 1442 | private function bogusDoctypeState() |
|
| 1443 | { |
|
| 1444 | /* Consume the next input character: */ |
|
| 1445 | $this->char++; |
|
| 1446 | $char = $this->char(); |
|
| 1447 | ||
| 1448 | if ($char === '>') { |
|
| 1449 | $this->emitToken($this->token); |
|
| 1450 | $this->state = 'data'; |
|
| 1451 | ||
| 1452 | } elseif ($this->char === $this->EOF) { |
|
| 1453 | $this->emitToken($this->token); |
|
| 1454 | $this->char--; |
|
| 1455 | $this->state = 'data'; |
|
| 1456 | ||
| 1457 | } else { |
|
| 1458 | // Stay in the bogus DOCTYPE state. |
|
| 1459 | } |
|
| 1460 | } |
|
| 1461 | ||
| 1462 | private function entity() |
|
| 1463 | { |
|