function accept() { @preg_match_all($this->re, (string) ($this->uk ? $this->key() : $this->current()), $sub); $ret = parent::accept(); var_dump($sub == $this->current()); return $ret; }
public function accept() { return $this->hasChildren() || parent::accept(); }
/** * Return all template files of a particular group as array * * @param string * @param integer * * @return array * @throws Exception */ public static function getTemplateGroupInFolders($prefix, $folders) { $templates = array(); // Find all matching templates foreach ($folders as $sourceName => $folder) { $iterator = new RecursiveDirectoryIterator($folder, RecursiveDirectoryIterator::SKIP_DOTS | RecursiveDirectoryIterator::UNIX_PATHS); $iterator = new RecursiveIteratorIterator($iterator, RecursiveIteratorIterator::LEAVES_ONLY); $iterator = new RegexIterator($iterator, '~(^|/)' . preg_quote($prefix, '~') . '.*\\.twig$~i'); /** @var RecursiveDirectoryIterator|RecursiveIteratorIterator|RegexIterator $iterator */ $iterator->next(); while ($iterator->accept()) { $templateName = $iterator->getSubPathname(); $templateName = preg_replace('#\\.[^\\.]+\\.twig$#', '', $templateName); $templates[$sourceName][$templateName] = $templateName; uksort($templates[$sourceName], 'strnatcasecmp'); $iterator->next(); } } uksort($templates, 'strnatcasecmp'); return $templates; }
<?php $x = new RegexIterator(new ArrayIterator(range(1, 10)), '/\\d/'); var_dump($x->accept());
public function accept() { return !parent::accept(); }