allFiles(storage_path() . '/HTML'); foreach ($HTMLfiles as $file) { $filepath = $file->getPathname(); $html = $filesystem->get($filepath); $url = $this->URLFromFilename($filepath); $microformats = \Mf2\parse($html, $url); $webmention = WebMention::where('source', $url)->firstOrFail(); $webmention->mf2 = json_encode($microformats); $webmention->save(); } } /** * Determine the source URL from a filename. * * @param string * @return string */ private function URLFromFilename($filepath) { $dir = mb_substr($filepath, mb_strlen(storage_path() . '/HTML/')); $url = str_replace(['http/', 'https/'], ['http://', 'https://'], $dir); if (mb_substr($url, -1) == 'index.html') { $url = mb_substr($url, 0, mb_strlen($url) - 10); } return $url; } }