[], 'extract' => [], 'scrape' => []]; $siteConfig['extract'] = $this->normalizeRegexp($siteConfig['extract']); $siteConfig['host'] = \array_map('strtolower', (array) $siteConfig['host']); $siteConfig['scrape'] = $this->normalizeScrape($siteConfig['scrape']); foreach ($siteConfig['attributes'] as &$attrConfig) if (isset($attrConfig['filterChain'])) $attrConfig['filterChain'] = (array) $attrConfig['filterChain']; unset($attrConfig); return $siteConfig; } protected function normalizeRegexp($value) { return (array) $value; } protected function normalizeScrape($value) { if (!empty($value) && !isset($value[0])) $value = [$value]; foreach ($value as &$scrape) { $scrape += ['extract' => [], 'match' => '//']; $scrape['extract'] = $this->normalizeRegexp($scrape['extract']); $scrape['match'] = $this->normalizeRegexp($scrape['match']); } unset($scrape); return $value; } }