function Tokenizer::cdataSection
Handle a CDATA section.
Return value
bool
1 call to Tokenizer::cdataSection()
- Tokenizer::markupDeclaration in vendor/
masterminds/ html5/ src/ HTML5/ Parser/ Tokenizer.php - Look for markup.
File
-
vendor/
masterminds/ html5/ src/ HTML5/ Parser/ Tokenizer.php, line 894
Class
- Tokenizer
- The HTML5 tokenizer.
Namespace
Masterminds\HTML5\ParserCode
protected function cdataSection() {
$cdata = '';
$this->scanner
->consume();
$chars = $this->scanner
->charsWhile('CDAT');
if ('CDATA' != $chars || '[' != $this->scanner
->current()) {
$this->parseError('Expected [CDATA[, got %s', $chars);
return $this->bogusComment('<![' . $chars);
}
$tok = $this->scanner
->next();
do {
if (false === $tok) {
$this->parseError('Unexpected EOF inside CDATA.');
$this->bogusComment('<![CDATA[' . $cdata);
return true;
}
$cdata .= $tok;
$tok = $this->scanner
->next();
} while (!$this->scanner
->sequenceMatches(']]>'));
// Consume ]]>
$this->scanner
->consume(3);
$this->events
->cdata($cdata);
return true;
}