Минификатор разметки на PHP

Nameax

Новичок
Здравствуйте дорогие люди программисты и посетители конференции!

Помогите пожалуйста советом или правкой кода! Вот есть функция, которая минифицирует разметку:

Код:
$search = array(
        // Minify HTML
        '/\>[^\S ]+/s',                                 // strip whitespaces after tags, except space [^1]
        '/[^\S ]+\</s',                                 // strip whitespaces before tags, except space [^2]
        '/<!--(.|\s)*?-->/',                            // Remove HTML comments [^3]
        // Minify Javascript
        '#\s*([!%&*\(\)\-=+\[\]\{|;:,.<>?\/])\s*#',     // Remove white-space(s) around punctuation(s) [^4]
        '#[;,]([\]\}])#',                               // Remove the last semi-colon and comma [^5]
        '#\btrue\b#', '#false\b#', '#return\s+#',       // Replace `true` with `!0` and `false` with `!1` [^6]
        '/\}[^\S ]+/s',                                 // strip whitespaces after tags }, except space [^7]
        '/[^\S ]+\}/s'                                  // strip whitespaces before tags }, except space [^8]
    );

    $replace = array(
        '>',                    // [^1]
        '<',                    // [^2]
        '',                     // [^3]
        '$1',                   // [^4]
        '$1',                   // [^5]
        '!0', '!1', 'return ',  // [^6]
        '}',                    // [^7]
        '}'                     // [^8]
    );

    $buffer = preg_replace($search, $replace, $buffer);

    return $buffer;
}
          
ob_start("sanitize_output");
Она работает, но к примеру p class=test - слипается почему-то! То есть нету пробелов, там, где они должны быть! Сказывают, что регулярные экспрессии не лучший способ для этого! Можете пожалуйста сделать правку или посоветовать минификатор с советами по установке!
 

Nameax

Новичок
Спасибо! Можете помочь пожалуйста с установкой, у меня почему-то белый экран.

Код:
<?php

require 'tiny-html-minifier.php'; (этого файла нету почему-то)
echo TinyMinify::html($html);

?>
<!DOCTYPE html>
<html lang="en">

<head>
Вы не ругайтесь только, так как я всё время пытаюсь учить языки.
 

ksnk

прохожий
В документации - старое название файла. Сейчас он называется TinyHtmlMinifier.php. Его нужно положить рядом с кодом и писать
PHP:
require "TinyHtmlMinifier.php";
ну или поменять на относительно расположение файла, если распаковано в другом месте.

Еще помогает в жизни научится пользоваться компоузером, тогда лишние инклюды можно будет не писать
 

Nameax

Новичок
Спасибо за ответ, но я что-то не то опять делаю. Если несложно - дайте инструкцию пожалуйста, чтобы работало.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
php composer гугли, за тебя никто код писать не станет

Это консольная утилита для установки пакетов в php
 

Nameax

Новичок
Я не прошу за меня написать! А прошу рассказать как внедрить его, чтобы работало как говорят "на лету". Попытаюсь состряпать что-то, но если кто захочет помочь, буду рад.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Bash:
$ composer init
$ composer require пакет
Дальше в скрипте require 'autoload.php' и пилишь код
 
Сверху