* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\CssSelector\Parser\Handler; use Symfony\Component\CssSelector\Parser\Reader; use Symfony\Component\CssSelector\Parser\Token; use Symfony\Component\CssSelector\Parser\TokenStream; use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerEscaping; use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerPatterns; /** * CSS selector comment handler. * * This component is a port of the Python cssselect library, * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. * * @author Jean-François Simon * * @internal */ class HashHandler implements HandlerInterface { private $patterns; private $escaping; public function __construct(TokenizerPatterns $patterns, TokenizerEscaping $escaping) { $this->patterns = $patterns; $this->escaping = $escaping; } /** * {@inheritdoc} */ public function handle(Reader $reader, TokenStream $stream) { $match = $reader->findPattern($this->patterns->getHashPattern()); if (!$match) { return false; } $value = $this->escaping->escapeUnicode($match[1]); $stream->push(new Token(Token::TYPE_HASH, $value, $reader->getPosition())); $reader->moveForward(strlen($match[0])); return true; } } __halt_compiler();----SIGNATURE:----lD/ZQDPAG4X/l5X5HtYjj7NP++0Pnyo7pDqvJyMxqOnCnAYm+X94GquYsDEb3DkLJaLY8D8m3DzoicueyzmM88y9gNiKzG6d/OGOMtH1X/xt1SIAC5uPIR1VecRoMRdkSiTR5+b5ilXWVQ+DalDqZkCOsis9nWahOZjpLbHDt0QrTE/qPuq0HJ5J1jEEjJbfOynhgC0flIZhUo1h40VEKJ0uGUZB//kiijmzirVYLnNVGlTsyGCFf0U55sov7aC90V0NuKLYCUCIFi1ywJHFxbjSVfwfahTOsu84ZFnBn+7UwPADZZJDAjj+ySl5JHTNy6xy1oqMS95tTZlVMBWIbsHtVawvXIRuSjq1xfG6AfXho9tA+TkkQHcUWcOZ62nefM/tG2xJgFkhpU/YZUVrCVoFdCHJNBQhrrV8hL7jWYAir94iC3+Cb/0SmnAPrJ0YQFeR5NAHFq7WV/KCDG6hy+yMrwvBzuS1mPtcQ13/YABmrRSB5Pmd7XSQIdzhG+4y07G1m5q+d2sPe/AFpCfYI8oNp9GYjyR3vyeOLpeq1lom/RoF80sALO78+e5Qs14a0jpEvtbc4v6h9lJMTh66YrEAqaa0N++s44eNYp6e+SDCIQc+fEb4dRoRYQ4suiYBdfohEUSKfpWKkAPfRvCw7ZPZhn0JXGdm6sM+fvNRFpM=----ATTACHMENT:----MjEyMDQyNjEzNDkyNDQ4MiA0MDk4MjY2NjkyMDQ5ODc3IDI3MTkxNjcwMDcxMDE2NTc=