protected function attrFilter()
    {
        $attrName = "";
        $op = "";
        $value = "";

        if (!$this->match("/^\[/")) {
            return false;
        }
        if (!list($attrName) = $this->is("identifier")) {
            throw new TextParserException("Invalid identifier", $this);
        }
        if (list($op) = $this->is("attrOperator")) {
            if (!list($value) = $this->is("value")) {
                throw new TextParserException("Invalid attribute operator", $this);
            }
        }
        if (!$this->eq("]")) {
            throw new TextParserException("Invalid expression", $this);
        }
        return new CssParserFilterAttr($attrName, $op, $value);
    }
protected function attrFilter()
    {
        $attrName = "";
        $op = "";
        $value = "";

        if (!$this->match("/^\[/")) {
            return false;
        }
        if (!list($attrName) = $this->is("identifier")) {
            throw new TextParserException("Invalid identifier", $this);
        }
        if (list($op) = $this->is("attrOperator")) {
            if (!list($value) = $this->is("value")) {
                throw new TextParserException("Invalid attribute operator", $this);
            }
        }
        if (!$this->eq("]")) {
            throw new TextParserException("Invalid expression", $this);
        }
        return new CssParserFilterAttr($attrName, $op, $value);
    }
protected function attrFilter ( ) { $ attrName = "" ; $ op = "" ; $ value = "" ; if ( ! $ this -> match ( "/^\[/" ) ) { return false ; } if ( ! list ( $ attrName ) = $ this -> is ( "identifier" ) ) { throw new TextParserException ( "Invalid identifier" , $ this ) ; } if ( list ( $ op ) = $ this -> is ( "attrOperator" ) ) { if ( ! list ( $ value ) = $ this -> is ( "value" ) ) { throw new TextParserException ( "Invalid attribute operator" , $ this ) ; } } if ( ! $ this -> eq ( "]" ) ) { throw new TextParserException ( "Invalid expression" , $ this ) ; } return new CssParserFilterAttr ( $ attrName , $ op , $ value ) ; }
Is the next thing an attribute filter?

@return false|CssParserFilterAttr
Is the next thing an attribute filter?