Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. Tokenizer.php

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\Parser

Code

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();
}
RSS feed
Powered by Drupal