\~]+)[\w]+ # elements\n |\n \:{1,2}( # pseudo-elements\n after|before|first-letter|first-line|selection\n ))\n /ix"; /** * regexp for specificity calculations * * @var string */ const SELECTOR_VALIDATION_RX = "/\n ^(\n (?:\n [a-zA-Z0-9\x{00A0}-\x{FFFF}_^$|*="'~\[\]()\-\s\.:#+>]* # any sequence of valid unescaped characters\n (?:\\.)? # a single escaped character\n (?:(['"]).*?(?setSelector($sSelector); if ($bCalculateSpecificity) { $this->getSpecificity(); } } /** * @return string */ public function getSelector() { return $this->sSelector; } /** * @param string $sSelector * * @return void */ public function setSelector($sSelector) { $this->sSelector = trim($sSelector); $this->iSpecificity = null; } /** * @return string */ public function __toString() { return $this->getSelector(); } /** * @return int */ public function getSpecificity() { if ($this->iSpecificity === null) { $a = 0; /// @todo should exclude \# as well as "#" $aMatches = null; $b = substr_count($this->sSelector, '#'); $c = preg_match_all(self::NON_ID_ATTRIBUTES_AND_PSEUDO_CLASSES_RX, $this->sSelector, $aMatches); $d = preg_match_all(self::ELEMENTS_AND_PSEUDO_ELEMENTS_RX, $this->sSelector, $aMatches); $this->iSpecificity = ($a * 1000) + ($b * 100) + ($c * 10) + $d; } return $this->iSpecificity; } } __halt_compiler();----SIGNATURE:----l1QOzbuXxVijjhpUL5SyKFlZ0nPyaq+FIV6JopryvOUrk83HoWt4r7ujEnFkgaSU2AlT5g7dt8sjgreXE+Coxs/Btx4/pnt/Xt8vqn+7x9kCERDS4hHCS9bYaocxLaNXaf+p3g/iSoDvnFU7/uhsciOh+urO4eK85bEbsXjk+2hTlvpDTikJ10k8Qxf3AMo82vkk7mGFB3psEIH4532Hd6YInuyIkZJ+gjrPJTe25C/SbG0gCx8wodXMK077J8g1w9ViseK3xg8fgy+bId8ih2HA3tm/NFNhwhAKfy8HpzAIdmciBhh/jkEfkW+DDmFw7PvxjGGNcUq0chDbmcm73TbCU7wU+N6MOG4ctbcLaQpwq8ZiYqGBYE/v9S/VuLIYOqulvBYPbBLFvhoRIniYrlZEAj01hL/oPgyVkDoy+BE0ZsGFJu97T9gj0BE3nFVC+qGzu1yt2rlgakv7OvIqpZC+cW0rN3HXYqeXvPOv36hCatBVZimUwboL8jOPR8Ij4A9xp9BMXoenWSSFgWeypcbpsUo7emCd3UfRKXwKMHeOGg1jISMMfU1s0yfhAf2C7lSzZPjSZW1GX0OzvsOT3968e4tu2XqDWPfgU1uHFjKDxG32y1eUfRaVTxJ/W1y21e89CsSudbTA9ufl5qaKzV1KD4NtMw+xN6KnrhyKvYE=----ATTACHMENT:----ODk4OTMzODM4OTYzNjgxIDI2OTU1NDgxMDcyNzAzMTMgMTcyNzMxMTg5OTQzNjI2OA==