Laravel - فشرده‌ساز HTML


با تعریف یک middle به نام minifier ترتیبی بدهید که html ارسال شده از سمت سرور برای کاربران minify شده باشد.

برای مثال بتوان از آن به شکل زیر استفاده کرد

Route::middleware('minifier')->view('welcome.blade.php');
PHP

نکات🔗

شما فقط مجاز به ایجاد تغییرات در دو فایل زیرهستید و توجه داشته باشید که از تغییرات موجود در سایر فایل ها به هنگام داوری صرف نظر خواهد شد.

app/Http/Kernel.php
app/Http/middlewares/Minifier.php
Plain text

از قطعه کد زیر میتوانید جهت فشرده سازی html استفاده کنید. ورودی و خروجی این تابع از جنس string هستند.


    function minifyHTML($htmlString)
    {
        $replace = [
            '<!--(.*?)-->' => '', //remove comments
            "/<\?php/" => '<?php ',
            "/\n([\S])/" => '$1',
            "/\r/" => '', // remove carriage return
            "/\n/" => '', // remove new lines
            "/\t/" => '', // remove tab
            "/\s+/" => ' ', // remove spaces
        ];
        return preg_replace(array_keys($this->replace), array_values($this->replace), $htmlString);
    }
PHP

محتوای اولیه ی فایل

app/Http/middlewares/Minifier.php

<?php

namespace App\Http\Middleware;

use Closure;

class Minifier
{
    public function handle($request, Closure $next)
    {

    }
}
PHP

آنچه باید برای ما بفرستید🔗

برای حل سوال ابتدا فریم ورک لاراول را باید روی سیستم خود دانلود کنید.

در نهایت پس از اعمال تغییرات، تمامی فایل ها و فولدرهای لاراول (به جز پوشه ی vendor) را به صورت zip در آورده و آپلود کنید.

ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.