protected function downloadImage(DomNode $node) { $image = $node->attributes->getNamedItem('src')->nodeValue; # no image or absolute URI if (!$image || preg_match('#^(http(s)?|//)#', $image)) { return ''; } $imageName = basename($image); $originFile = dirname($this->page->getOrigin()) . '/' . ltrim($image, '/'); $dir = dirname($this->page->getTarget()) . '/img/'; $file = $dir . $imageName; if (!$this->fsio->isDir($dir)) { $this->fsio->mkdir($dir); } $this->fsio->put($file, $this->fsio->get($originFile)); return $this->config->getRootHref() . str_replace($this->config->getTarget(), '', $dir) . $imageName; }