/** * Parse a source text and return a ConceptSearchSource object if exists. * @param string $source_text */ public function parse($source_text) { $matches = array(); if ($source_text == '*') { $css = new ConceptSearchSource(); $css->setSourceAllDictionaries(); return $css; } elseif (preg_match('/^(.+):map\\((\\d+)\\)/', $source_text, $matches)) { $css = $this->getMapSource($matches[2], $matches[1]); return $css; } elseif (preg_match('/^list\\((\\d+)\\)/', $source_text, $matches)) { $css = $this->getConceptList($matches[1]); return $css; } else { $css = $this->getDictionary($source_text); return $css; } return null; }