PicoFeed\Scraper\Scraper::getParser PHP Method

getParser() public method

Get the parser.
public getParser ( ) : PicoFeed\Scraper\ParserInterface
return PicoFeed\Scraper\ParserInterface
    public function getParser()
    {
        $ruleLoader = new RuleLoader($this->config);
        $rules = $ruleLoader->getRules($this->url);
        if (!empty($rules['grabber'])) {
            Logger::setMessage(get_called_class() . ': Parse content with rules');
            foreach ($rules['grabber'] as $pattern => $rule) {
                $url = new Url($this->url);
                $sub_url = $url->getFullPath();
                if (preg_match($pattern, $sub_url)) {
                    Logger::setMessage(get_called_class() . ': Matched url ' . $sub_url);
                    return new RuleParser($this->html, $rule);
                }
            }
        } elseif ($this->enableCandidateParser) {
            Logger::setMessage(get_called_class() . ': Parse content with candidates');
        }
        return new CandidateParser($this->html);
    }