/** * Run given text through plugins without mecab parsing. Kanji input will fail. * * @param string $text * @param array $pluginWhiteList [Plugins to run] * @param bool $supressEvents [When true, events will not be fired] * * @return Limelight\Classes\LimelightResults/ InvalidInputException */ public function noParse($text, $pluginWhiteList = ['Romaji'], $supressEvents = false) { $this->dispatcher->toggleEvents($supressEvents); $noParser = new NoParser($this, $this->dispatcher); $results = $noParser->handle($text, $pluginWhiteList); $this->dispatcher->toggleEvents($supressEvents); return $results; }
/** * Handle the parse for given text. * * @param string $text * @param bool $runPlugins * * @return LimelightResults */ public function handle($text, $runPlugins) { $node = $this->mecab->parseToNode($text); $tokens = $this->tokenizer->makeTokens($node); $words = $this->tokenParser->parseTokens($tokens); $pluginResults = $runPlugins ? $this->runPlugins($text, $node, $tokens, $words) : null; $results = new LimelightResults($text, $words, $pluginResults); $this->dispatcher->fire('ParseWasSuccessful', $results); return $results; }