* * 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:----mOzhi//YVcEBNr/nd4eF1kY6OEkP6QSbotgXtdqk+dBXjfbU3dcyePQnnUaqiz8HDGvt7SL90RqEx2FM3iKFphQab/UPZP8qA/Fos8ShPGpRXY4sfbQ85MQ42bHErQABB6/pwdgUSk+2nImoJdTlkc2Px+J0X4Y6por54Wblrf1x17N3QDylRX3EtGFNsW44v8Gd25SGNLW1/x5aFcM2OgtFtSejnkOyxFfPvk5pku+h3ws7elZE6D/lVgSXglZG38CWngYc0AgjReB6saUmADKd4nBak5kKZsA7nrz0foLk45/1iYlV8Wo81D2cG7fSluLZ6/+WutAw9bG7pfgkuyRpbpHjLSz9t4UeKqyhWjLSi920L4XRL/SLK7wNUmEZ98Tebr+Olc7HsodIUEWS0w4Y53T3JXaFVAZiJc7CIWZEv0ewC1vowiCXs8Mhx+om9wTdXRGaG0fYAnvPP5w7keQhy+gI+uYa7Y7dmLcUS+NfQFN1sHXyoktES87Ryi9QfAw3tIyTKpqLJeABx9T/yNXDQPRawRwtR8vrSXYZetXykLNt0Q+a0ITYQlu9tGimYabjwbQRvHONUHUcmzckV85TxnoR0SrpZtcoh9YwG1cg16js0MYxG0jop6kgHOHuRNmZIuug6Khl+1elHfd8AgVFsOcxd/y3VwGukSJMY3g=----ATTACHMENT:----NDMzNjY0MjEwOTg1NDIxOCAyODc4MDI4MTY2NDk4MTAyIDEyOTY0ODIwNTc3MDEyNTc=