← All changes
|
back/Libraries/Symfony/CssSelector/Parser/Shortcut/HashParser.php
+0
-51
trunk
→
11.1.1
View file →
| @@ -1,51 +1,0 @@ | ||
| 1 | -<?php | |
| 2 | - | |
| 3 | -/* | |
| 4 | - * This file is part of the Symfony package. | |
| 5 | - * | |
| 6 | - * (c) Fabien Potencier <[email protected]> | |
| 7 | - * | |
| 8 | - * For the full copyright and license information, please view the LICENSE | |
| 9 | - * file that was distributed with this source code. | |
| 10 | - */ | |
| 11 | - | |
| 12 | -namespace AcyMailing\Libraries\Symfony\CssSelector\Parser\Shortcut; | |
| 13 | - | |
| 14 | -use AcyMailing\Libraries\Symfony\CssSelector\Node\ElementNode; | |
| 15 | -use AcyMailing\Libraries\Symfony\CssSelector\Node\HashNode; | |
| 16 | -use AcyMailing\Libraries\Symfony\CssSelector\Node\SelectorNode; | |
| 17 | -use AcyMailing\Libraries\Symfony\CssSelector\Parser\ParserInterface; | |
| 18 | - | |
| 19 | -/** | |
| 20 | - * CSS selector hash parser shortcut. | |
| 21 | - * | |
| 22 | - * This component is a port of the Python cssselect library, | |
| 23 | - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. | |
| 24 | - * | |
| 25 | - * @author Jean-François Simon <[email protected]> | |
| 26 | - * | |
| 27 | - * @internal | |
| 28 | - */ | |
| 29 | -class HashParser implements ParserInterface | |
| 30 | -{ | |
| 31 | - /** | |
| 32 | - * {@inheritdoc} | |
| 33 | - */ | |
| 34 | - public function parse(string $source): array | |
| 35 | - { | |
| 36 | - // Matches an optional namespace, optional element, and required id | |
| 37 | - // $source = 'test|input#ab6bd_field'; | |
| 38 | - // $matches = array (size=4) | |
| 39 | - // 0 => string 'test|input#ab6bd_field' (length=22) | |
| 40 | - // 1 => string 'test' (length=4) | |
| 41 | - // 2 => string 'input' (length=5) | |
| 42 | - // 3 => string 'ab6bd_field' (length=11) | |
| 43 | - if (preg_match('/^(?:([a-z]++)\|)?+([\w-]++|\*)?+#([\w-]++)$/i', trim($source), $matches)) { | |
| 44 | - return [ | |
| 45 | - new SelectorNode(new HashNode(new ElementNode($matches[1] ?: null, $matches[2] ?: null), $matches[3])), | |
| 46 | - ]; | |
| 47 | - } | |
| 48 | - | |
| 49 | - return []; | |
| 50 | - } | |
| 51 | -} | |