Pressbooks\Modules\Export\Epub\Epub3::scrapeAndKneadMedia PHP Метод

scrapeAndKneadMedia() защищенный Метод

Parse HTML snippet, download all found
protected scrapeAndKneadMedia ( DOMDocument $doc ) : DOMDocument
$doc DOMDocument
Результат DOMDocument
    protected function scrapeAndKneadMedia(\DOMDocument $doc)
    {
        $fullpath = $this->tmpDir . '/OEBPS/assets';
        $tags = array('source', 'audio', 'video');
        foreach ($tags as $tag) {
            $sources = $doc->getElementsByTagName($tag);
            foreach ($sources as $source) {
                if ($source->getAttribute('src') != '') {
                    // Fetch the audio file
                    $url = $source->getAttribute('src');
                    $filename = $this->fetchAndSaveUniqueMedia($url, $fullpath);
                    if ($filename) {
                        // Change src to new relative path
                        $source->setAttribute('src', 'assets/' . $filename);
                    } else {
                        // Tag broken media
                        $source->setAttribute('src', "{$url}#fixme");
                    }
                }
            }
        }
        return $doc;
    }