Automattic\WooCommerce\Vendor\Symfony\Component\CssSelector\Parser\Shortcut

ElementParser{}WC 1.0└─ ParserInterface

CSS selector element parser shortcut.

This component is a port of the Python cssselect library, which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect.

No Hooks.

Usage

$ElementParser = new ElementParser();
// use class methods

Methods

  1. public parse(string $source)

ElementParser{} code WC 10.5.0

class ElementParser implements ParserInterface
{
    /**
     * {@inheritdoc}
     */
    public function parse(string $source): array
    {
        // Matches an optional namespace, required element or `*`
        // $source = 'testns|testel';
        // $matches = array (size=3)
        //     0 => string 'testns|testel' (length=13)
        //     1 => string 'testns' (length=6)
        //     2 => string 'testel' (length=6)
        if (preg_match('/^(?:([a-z]++)\|)?([\w-]++|\*)$/i', trim($source), $matches)) {
            return [new SelectorNode(new ElementNode($matches[1] ?: null, $matches[2]))];
        }

        return [];
    }
}