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

Breadcrumb

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

function Parser::parseSelector

Parses a selector

Parameters

bool $filter True if the selector must be used for a filter:

Return value

Node\Selector

Throws

Exception

2 calls to Parser::parseSelector()
Parser::parse in vendor/mck89/peast/lib/Peast/Selector/Parser.php
Starts the parsing and returns the parsed selector
Parser::parseSelectorPartPseudo in vendor/mck89/peast/lib/Peast/Selector/Parser.php
Parses a pseudo selector part

File

vendor/mck89/peast/lib/Peast/Selector/Parser.php, line 127

Class

Parser
Selector parser class

Namespace

Peast\Selector

Code

public function parseSelector($filter = false) {
    $selector = new Node\Selector();
    do {
        $first = true;
        $group = new Node\Group();
        while (true) {
            $combinator = $this->consumeCombinator();
            if (!$first && !$combinator) {
                break;
            }
            $parts = $this->parseSelectorParts();
            if (!count($parts)) {
                throw new Exception("Missing selector after combinator");
            }
            $first = false;
            $selCombinator = new Node\Combinator();
            $selCombinator->setOperator($combinator ?: ($filter ? null : " "));
            foreach ($parts as $part) {
                $selCombinator->addPart($part);
            }
            $group->addCombinator($selCombinator);
        }
        $selector->addGroup($group);
        $this->consumeWhitespaces();
    } while ($this->consume(","));
    return $selector;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal