diff --git a/.gitignore b/.gitignore index 3649080..2749dec 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +/public/img/icons/play-button.png /.phpunit.cache /node_modules /public/build @@ -21,3 +22,4 @@ yarn-error.log /.phpstorm.meta.php /_ide_helper.php /_ide_helper_models.php +/public/img/icons/play-button.png diff --git a/app/Services/PageScrapper.php b/app/Services/PageScrapper.php index 8dd6658..fbf9061 100644 --- a/app/Services/PageScrapper.php +++ b/app/Services/PageScrapper.php @@ -2,6 +2,9 @@ namespace App\Services; +use DiDom\Document; + +/* class PageScrapper { private string $url; @@ -22,7 +25,7 @@ class PageScrapper $arr = []; $rez = preg_match_all($strForPregMatch, $page, $arr); - return $content = $arr[1][0]; + return $content = $arr[0][0]; } public function normalizeURLFile($content) @@ -60,3 +63,39 @@ class PageScrapper return $content; } } +*/ + +class PageScrapper +{ + private string $url; + private string $contentMarker; + + public function __construct($url, $contentMarker) + { + $this->url = $url; + $this->contentMarker = $contentMarker; + $this->document = new Document($this->url, true); + } + public function getFullHTML() + { + return $this->document; + } + public function printHTML() + { + $rez = $this->document; + $content = $rez->first($this->contentMarker)->html(); + return $content; + } + public function normalizePath() + { + $links = (string) $this->document->find('a[href]'); + dd($links); + foreach ($links as $link) { + if (!str_starts_with($link, 'https')) { + $this->document = str_replace($link, 'https://mkgtu.ru' . $link, $this->document); + } + } + + return $this->document; + } +} diff --git a/composer.json b/composer.json index 711b14f..4fa8bb7 100644 --- a/composer.json +++ b/composer.json @@ -8,8 +8,9 @@ ], "license": "MIT", "require": { - "php": "^8.2", + "php": "^8.1|8.2", "guzzlehttp/guzzle": "^7.8.1", + "imangazaliev/didom": "^2.0", "laravel/framework": "^10.41.0", "laravel/sanctum": "^3.3.3", "laravel/tinker": "^2.9.0", @@ -64,6 +65,7 @@ } }, "config": { + "platform-check": false, "optimize-autoloader": true, "preferred-install": "dist", "sort-packages": true, diff --git a/resources/views/menu/course.blade.php b/resources/views/menu/course.blade.php index df990a3..4dc52b1 100644 --- a/resources/views/menu/course.blade.php +++ b/resources/views/menu/course.blade.php @@ -1,4 +1,5 @@ @extends('layouts.applicant-layout') + @section('content')