Файл cssmin.php в Cotonti CMF

основная функция заключается в удалении лишних пробелов, комментариев и незначащих символов из CSS-файлов с целью уменьшения их размера и, как следствие, ускорения загрузки веб-страниц

Файл cssmin.php, расположенный в /lib/cssmin.php в Cotonti CMF, предназначен для минимизации CSS-кода. Его основная функция заключается в удалении лишних пробелов, комментариев и незначащих символов из CSS-файлов с целью уменьшения их размера и, как следствие, ускорения загрузки веб-страниц.

Место в системе Cotonti CMF

Cotonti — это модульная CMS, ориентированная на производительность и гибкость. В ней предусмотрены различные механизмы для оптимизации работы веб-сайта, включая кеширование, сжатие данных и загрузку минимизированных ресурсов.

Файл cssmin.php является частью библиотеки вспомогательных функций (/lib/) и может использоваться в Cotonti CMF в различных контекстах:

  • Оптимизация загружаемых CSS-ресурсов — при передаче CSS-кода в браузер сокращается его объем.
  • Минимизация inline-стилей — если в шаблоне или в динамически генерируемом HTML-коде используется встроенный CSS, его можно минимизировать перед выводом.
  • Поддержка кеширования — минимизированный CSS-код может сохраняться в кеше, чтобы снизить нагрузку на сервер.

Функциональность и задачи

Файл выполняет следующие основные задачи:

  1. Удаление избыточных пробелов — последовательности пробельных символов заменяются одним пробелом, что сокращает размер файла.
  2. Удаление CSS-комментариев — устраняются комментарии вида /* комментарий */, которые не нужны в финальной версии CSS.
  3. Оптимизация форматирования — удаляются пробелы перед и после {, }, : и ;, убирается ненужная точка с запятой перед }.

Условия выполнения

Минимизация применяется к строковому CSS-коду, который передается в качестве аргумента. Код работает универсально, не зависимо от контекста, и может использоваться как для обработки статических файлов, так и для сжатия динамических стилей.

Вывод

Файл cssmin.php в Cotonti CMF является вспомогательным инструментом для минимизации CSS. Он помогает улучшить производительность сайта, уменьшая объем передаваемых данных и снижая нагрузку на сервер.

 

 

<?php

/**
 * Простая функция минимизации CSS
 *
 * @param string $css CSS-код  // Принимает строку с CSS-кодом
 * @return string               // Возвращает минимизированную строку CSS
 */
function minify_css($css)
{
	// Удаляет все повторяющиеся пробельные символы, заменяя их на один пробел
	$css = preg_replace('#\s+#', ' ', $css);

	// Удаляет многострочные комментарии /* ... */
	$css = preg_replace('#/\*.*?\*/#s', '', $css);

	// Убирает лишние пробелы после точек с запятой
	$css = str_replace('; ', ';', $css);

	// Убирает пробелы после двоеточий
	$css = str_replace(': ', ':', $css);

	// Удаляет пробел перед открывающей фигурной скобкой
	$css = str_replace(' {', '{', $css);

	// Удаляет пробел после открывающей фигурной скобки
	$css = str_replace('{ ', '{', $css);

	// Удаляет пробел после запятых (например, в списках селекторов)
	$css = str_replace(', ', ',', $css);

	// Убирает пробел перед закрывающей фигурной скобкой
	$css = str_replace('} ', '}', $css);

	// Убирает точку с запятой перед закрывающей фигурной скобкой
	$css = str_replace(';}', '}', $css);

	// Удаляет лишние пробелы в начале и в конце строки перед возвратом результата
	return trim($css);
}

 

 

3 minutes read Sodium Carbonate

Comments (0)

No comments yet
Only registered users can post new comments

Article multicategories

Additional categories where this article is shown as similar.

Content author

webitproff

Offline

Sodium Carbonate

Last logged: 2026-09-19 10:26

About me briefly
Support and development of web projects on the CMF Cotonti: private messengers via the website, open and closed small social networks, trading platforms and marketplaces, freelance and services exchange portal, catalogs of goods from wholesale suppliers, dropshipping platforms, online stores, and much more.
View developments and download
Public portfolio of my works and developments
Telegram for messages
@webitproff
Telegram channel
@s/aBuyFILE
  • Page published: 2025-01-30 16:24
  • Last update: 2025-01-30 16:24