|
...
|
...
|
@@ -350,67 +350,15 @@ class HtmlLanguageCollect extends Command |
|
|
|
if ($js_css_source) {
|
|
|
|
foreach ($js_css_source as $vjs) {
|
|
|
|
$vjs_down = str_replace('"', '', $vjs);
|
|
|
|
$vjs_down_arr = parse_url($vjs_down);
|
|
|
|
$vjs_down_host = $vjs_down_arr['host'] ?? '';
|
|
|
|
|
|
|
|
$cos = config('filesystems.disks.cos');
|
|
|
|
$cosCdn = $cos['cdn'];
|
|
|
|
|
|
|
|
if ($vjs_down_host == $cosCdn) {
|
|
|
|
//过滤已经下载的
|
|
|
|
if(strpos($vjs_down,'data:') !== false){
|
|
|
|
//过滤二进制文件
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (empty($vjs_down_host) && substr($vjs_down, 0, 1) != '/') {
|
|
|
|
//相对路径
|
|
|
|
$url_arr = explode('/', $vs['url']);
|
|
|
|
$url_arr[count($url_arr) - 1] = $vjs_down;
|
|
|
|
$vjs_down = implode('/', $url_arr);
|
|
|
|
}
|
|
|
|
|
|
|
|
$vjs_result = $this->url_check($vjs_down, $project_id, $domain, $web_url_domain, $home_url);
|
|
|
|
if (!$vjs_result) {
|
|
|
|
if(strlen($vjs_down) > 255){
|
|
|
|
//过滤太长文件
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
|
|
|
if ($vjs_result['download']) {
|
|
|
|
$new_vjs = CosService::uploadRemote($project_id, 'source', $vjs_result['url_complete']);
|
|
|
|
if ($new_vjs) {
|
|
|
|
CollectSource::insert([
|
|
|
|
'project_id' => $project_id,
|
|
|
|
'origin' => $vjs_result['url'],
|
|
|
|
'target' => $new_vjs,
|
|
|
|
'created_at' => date('Y-m-d H:i:s'),
|
|
|
|
'updated_at' => date('Y-m-d H:i:s'),
|
|
|
|
]);
|
|
|
|
$source_html = str_replace($vjs, getImageUrl($new_vjs), $source_html);
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
$source_html = str_replace($vjs, getImageUrl($vjs_result['url_complete']), $source_html);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
CosService::uploadRemote($project_id, 'source', $new_source, $new_source, $source_html);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
$html = str_replace($vs['url'], getImageUrl($vs['url_complete']), $html);
|
|
|
|
|
|
|
|
if (substr($vs['url_complete'], -3, 3) == 'css' || substr($vs['url_complete'], -2, 2) == 'js') {
|
|
|
|
|
|
|
|
$source_html = curl_c(getImageUrl($vs['url_complete']), false);
|
|
|
|
|
|
|
|
if (substr($vs['url_complete'], -3, 3) == 'css') {
|
|
|
|
preg_match_all("/url\(['\"]?(\s*[^>]+?)['\"]?\)/i", $source_html, $result_source);
|
|
|
|
} else {
|
|
|
|
preg_match_all("/[large|thumb]+URL:['\"]+(\s*[^>]+?)['\"]+,/i", $source_html, $result_source);
|
|
|
|
}
|
|
|
|
|
|
|
|
$js_css_source = $result_source[1] ?? [];
|
|
|
|
if ($js_css_source) {
|
|
|
|
foreach ($js_css_source as $vjs) {
|
|
|
|
$vjs_down = str_replace('"', '', $vjs);
|
|
|
|
$vjs_down_arr = parse_url($vjs_down);
|
|
|
|
$vjs_down_host = $vjs_down_arr['host'] ?? '';
|
|
|
|
|
|
...
|
...
|
@@ -451,10 +399,13 @@ class HtmlLanguageCollect extends Command |
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
CosService::uploadRemote($project_id, 'source', $vs['url_complete'], $vs['url_complete'], $source_html);
|
|
|
|
CosService::uploadRemote($project_id, 'source', $new_source, $new_source, $source_html);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
$html = str_replace($vs['url'], getImageUrl($vs['url_complete']), $html);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return $html;
|
...
|
...
|
|