/** * Add * * @param string $line * @return bool */ public function add($line) { $uriParser = new UriParser($line); $uri = $uriParser->encode(); if (!$uriParser->validate() || in_array($uri, $this->sitemaps)) { return false; } $this->sitemaps[] = $uri; return true; }
/** * Get path and query * * @param string $uri * @return string * @throws ClientException */ private function getPath($uri) { $uriParser = new UriParser($uri); // Prepare uri $uriParser->encode(); $uri = $uriParser->stripFragment(); if (mb_strpos($uri, '/') === 0) { // URI is already an path return $uri; } if (!$uriParser->validate()) { throw new ClientException('Invalid URI'); } $path = ($path = parse_url($uri, PHP_URL_PATH)) === null ? '/' : $path; $query = ($query = parse_url($uri, PHP_URL_QUERY)) === null ? '' : '?' . $query; return $path . $query; }