summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAsmir Mustafic <[email protected]>2018-11-26 18:40:05 +0100
committerGitHub <[email protected]>2018-11-26 18:40:05 +0100
commit3ed3bdc45997dfaa92787a4639f3fe7a44de0aae (patch)
tree2e5d8b00e21edb0ced9935306b40eff0d6da4e0d /src
parente43f08e19f792999c3c3f47edc3e5d7b18242db8 (diff)
parent89e1a7a540719f7ed42629d590eb33a2c0da0e50 (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.php8
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 '&';
}