diff options
author | Asmir Mustafic <[email protected]> | 2018-11-26 18:40:05 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2018-11-26 18:40:05 +0100 |
commit | 3ed3bdc45997dfaa92787a4639f3fe7a44de0aae (patch) | |
tree | 2e5d8b00e21edb0ced9935306b40eff0d6da4e0d /src | |
parent | e43f08e19f792999c3c3f47edc3e5d7b18242db8 (diff) | |
parent | 89e1a7a540719f7ed42629d590eb33a2c0da0e50 (diff) |
Merge pull request #154 from stof/optimize_token_comparison
Optimize the token comparison
Diffstat (limited to 'src')
-rw-r--r-- | src/HTML5/Parser/Tokenizer.php | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/HTML5/Parser/Tokenizer.php b/src/HTML5/Parser/Tokenizer.php index bce9da9..be09b21 100644 --- a/src/HTML5/Parser/Tokenizer.php +++ b/src/HTML5/Parser/Tokenizer.php @@ -47,8 +47,6 @@ class Tokenizer const CONFORMANT_HTML = 'html'; protected $mode = self::CONFORMANT_HTML; - const WHITE = "\t\n\f "; - /** * Create a new tokenizer. * @@ -159,7 +157,7 @@ class Tokenizer break; default: - if (!strspn($tok, '<&')) { + if ('<' !== $tok && '&' !== $tok) { // NULL character if ("\00" === $tok) { $this->parseError('Received null character.'); @@ -193,7 +191,7 @@ class Tokenizer case Elements::TEXT_RCDATA: return $this->rcdata($tok); default: - if (strspn($tok, '<&')) { + if ('<' === $tok || '&' === $tok) { return false; } @@ -1092,7 +1090,7 @@ class Tokenizer // These indicate not an entity. We return just // the &. - if (1 === strspn($tok, static::WHITE . '&<')) { + if ("\t" === $tok || "\n" === $tok || "\f" === $tok || ' ' === $tok || '&' === $tok || '<' === $tok) { // $this->scanner->next(); return '&'; } |