function Tokenizer::rcdata
Read text in RCDATA mode.
Parameters
string $tok The current token.:
Return value
bool
2 calls to Tokenizer::rcdata()
- Tokenizer::characterData in vendor/
masterminds/ html5/ src/ HTML5/ Parser/ Tokenizer.php - Parse anything that looks like character data.
- Tokenizer::consumeData in vendor/
masterminds/ html5/ src/ HTML5/ Parser/ Tokenizer.php - Consume a character and make a move. HTML5 8.2.4.1.
File
-
vendor/
masterminds/ html5/ src/ HTML5/ Parser/ Tokenizer.php, line 270
Class
- Tokenizer
- The HTML5 tokenizer.
Namespace
Masterminds\HTML5\ParserCode
protected function rcdata($tok) {
if (is_null($this->untilTag)) {
return $this->text($tok);
}
$sequence = '</' . $this->untilTag;
$txt = '';
$caseSensitive = !Elements::isHtml5Element($this->untilTag);
while (false !== $tok && !('<' == $tok && $this->scanner
->sequenceMatches($sequence, $caseSensitive))) {
if ('&' == $tok) {
$txt .= $this->decodeCharacterReference();
$tok = $this->scanner
->current();
}
else {
$txt .= $tok;
$tok = $this->scanner
->next();
}
}
$len = strlen($sequence);
$this->scanner
->consume($len);
$len += $this->scanner
->whitespace();
if ('>' !== $this->scanner
->current()) {
$this->parseError('Unclosed RCDATA end tag');
}
$this->scanner
->unconsume($len);
$this->events
->text($txt);
$this->setTextMode(0);
return $this->endTag();
}