protected function element()
    {
        $element = null;
        $filter = null;
        $tagName = "*";

        // ignores left spaces
        $this->match("\s+");

        if (   (list($name) = $this->eq("*"))
            || (list($name) = $this->is("identifier"))
        ) {
            $tagName = $name? $name : "*";
        } elseif (!$filter = $this->is("filter")) {
            return false;
        }

        $element = new CssParserModelElement($tagName);

        // first filter
        if ($filter) {
            $element->addFilter($filter);
        }

        // additional filters
        while ($filter = $this->is("filter")) {
            $element->addFilter($filter);
        }

        return $element;
    }
protected function element()
    {
        $element = null;
        $filter = null;
        $tagName = "*";

        // ignores left spaces
        $this->match("\s+");

        if (   (list($name) = $this->eq("*"))
            || (list($name) = $this->is("identifier"))
        ) {
            $tagName = $name? $name : "*";
        } elseif (!$filter = $this->is("filter")) {
            return false;
        }

        $element = new CssParserModelElement($tagName);

        // first filter
        if ($filter) {
            $element->addFilter($filter);
        }

        // additional filters
        while ($filter = $this->is("filter")) {
            $element->addFilter($filter);
        }

        return $element;
    }
protected function element ( ) { $ element = null ; $ filter = null ; $ tagName = "*" ; // ignores left spaces $ this -> match ( "\s+" ) ; if ( ( list ( $ name ) = $ this -> eq ( "*" ) ) || ( list ( $ name ) = $ this -> is ( "identifier" ) ) ) { $ tagName = $ name ? $ name : "*" ; } elseif ( ! $ filter = $ this -> is ( "filter" ) ) { return false ; } $ element = new CssParserModelElement ( $ tagName ) ; // first filter if ( $ filter ) { $ element -> addFilter ( $ filter ) ; } // additional filters while ( $ filter = $ this -> is ( "filter" ) ) { $ element -> addFilter ( $ filter ) ; } return $ element ; }
Is the next thing an element?

The following example is an element:
```
div.my-class[title = hello]:nth-child(1)
```

In the above example, 'div' is the tag name
and the following strings are filters:
```
.my-class       // a class filter
[title = hello] // an attribute filter
:nth-child(1)   // a pseudo filter
```

@return false|CssParserModelElement
Is the next thing an element?