PHPackages                             gtarr/webp-parse-and-convert - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Image &amp; Media](/categories/media)
4. /
5. gtarr/webp-parse-and-convert

ActiveLibrary[Image &amp; Media](/categories/media)

gtarr/webp-parse-and-convert
============================

0.3.2(5y ago)3691[2 issues](https://github.com/GTaRR/webp-parse-and-convert/issues)GPL-3.0-or-laterPHPPHP &gt;=5.6

Since May 31Pushed 5y ago1 watchersCompare

[ Source](https://github.com/GTaRR/webp-parse-and-convert)[ Packagist](https://packagist.org/packages/gtarr/webp-parse-and-convert)[ RSS](/packages/gtarr-webp-parse-and-convert/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (1)Versions (12)Used By (0)

WebPParseAndConvert
===================

[](#webpparseandconvert)

[![Packagist Downloads](https://camo.githubusercontent.com/014e9eb48aaa9faa38a5d489a8424b94cdfc34ed1b3c6caaef76718f18c56c33/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646d2f67746172722f776562702d70617273652d616e642d636f6e76657274)](https://camo.githubusercontent.com/014e9eb48aaa9faa38a5d489a8424b94cdfc34ed1b3c6caaef76718f18c56c33/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646d2f67746172722f776562702d70617273652d616e642d636f6e76657274)[![Packagist Version](https://camo.githubusercontent.com/1d17f1b76e6529633f4b602f99b71907315971961ebe09ad3b52962109a5d177/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f67746172722f776562702d70617273652d616e642d636f6e76657274)](https://camo.githubusercontent.com/1d17f1b76e6529633f4b602f99b71907315971961ebe09ad3b52962109a5d177/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f67746172722f776562702d70617273652d616e642d636f6e76657274)

Парсинг HTML страницы и конвертирование изображений в WebP через библиотеку [WebP Convert](https://github.com/rosell-dk/webp-convert).

Проверка возможности конвертирования в WebP на сервере
------------------------------------------------------

[](#проверка-возможности-конвертирования-в-webp-на-сервере)

```
var_dump(function_exists('imagewebp')); // bool(true) - можно
```

Если на сервере нет `Imagick`, то конвертирование работать будет, но качество получившегося изображения не будет соответствовать качеству оригинального изображения (установится в 75 для jpg и 85 для png).

> Если поддержки нет, то можно воспользоваться [данным способом](#%D0%95%D1%81%D0%BB%D0%B8-%D0%BD%D0%B5%D1%82-%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D0%B8-WebP-%D0%BD%D0%B0-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5-%D1%81%D0%B0%D0%B9%D1%82%D0%B0)

Установка через Composer
------------------------

[](#установка-через-composer)

```
composer require gtarr/webp-parse-and-convert
```

Установка без Composer
----------------------

[](#установка-без-composer)

Скачать [отсюда](https://php-download.com/package/gtarr/webp-parse-and-convert) и загрузить папку `vendor` на сайт

Использование
-------------

[](#использование)

1. По умолчанию

```
$content = '......'; // HTML страницы
$rootDir = $_SERVER['DOCUMENT_ROOT'];         // корень сайта

require $rootDir . '/vendor/autoload.php';

use WebPParseAndConvert\WebPParseAndConvert;

$converter = new WebPParseAndConvert($content);

$content = $converter->execute();
```

2. C доп. опциями (в примере представлены значения по умолчанию)

```
$rootDir = $_SERVER['DOCUMENT_ROOT'];

$options = [
   "formats" => ['jpg', 'jpeg', 'png'],
   "patterns" => [
      [
         'pattern' => '/]+src=("[^"]*")[^>]*>/i',
         'exclude' => ['"', './']
      ],
      [
         'pattern' => '/background-image:.+url\(([^"]+)\)/i',
         'exclude' => ["'", "./"]
      ],
   ],
   "devices" => ['iphone', 'ipod', 'ipad', 'macintosh', 'mac os', 'Edge', 'MSIE', 'Trident'],
   "converterOptions" => [],
   "debug" => false,
   "useApi" => false,
   "api" => []
];

$converter = new WebPParseAndConvert($content, $rootDir, $options);
```

Опции
-----

[](#опции)

ОпцияТипОписание'formats'ArrayФорматы изображений, которые будут найдены на странице и конвертированы в webp'patterns'ArrayРегулярные выражения, по которым будет производиться поиск, имеет 2 параметра:'patterns' =&gt; \[\['pattern' =&gt; '...'\]\]String1. Само регулярное выражение'patterns' =&gt; \[\['exclude' =&gt; \[\]\]\]Array2. Подстроки, которые нужно исключить из обработки после нахождения строки по регулярному выражению, например, кавычки. В исключение также автоматически добавляется адрес сайта с протоколом для обработки абсолютных путей изображений.'devices'ArrayСписок устройств, для которых по User-agent будут выводиться оригинальные изображения в форматах jpg, jpeg, png'converterOptions'ArrayОпции, передаваемые в вызов `WebPConvert::convert()` библиотеки [WebP Convert](https://github.com/rosell-dk/webp-convert)'debug'BooleanИспользование встроенного логгера библиотеки [WebP Convert](https://github.com/rosell-dk/webp-convert)'useApi'BooleanИспользования для конвертирования внешнего сервиса основанного на [webp-convert-cloud-service](https://github.com/rosell-dk/webp-convert-cloud-service)'api'ArrayПараметры для подключения к внешнему сервису'api' =&gt; \['key' =&gt; '...'\]StringAPI ключ внешнего облачного сервиса'api' =&gt; \['url' =&gt; '...'\]StringURL внешнего облачного сервисаРешение проблем
---------------

[](#решение-проблем)

При ошибке `PNG file skipped. GD is configured not to convert PNGs` необходимо отключить обработку PNG изображений, для этого нужно в опцию `'formats'` передать только `['jpg', 'jpeg']`.
**С версии 0.1.0 это исключение перехватывается**

Примеры для CMS
---------------

[](#примеры-для-cms)

- [1С-Битрикс](https://github.com/GTaRR/WebPParseAndConvert/wiki/1C-Bitrix)
- [ModX](https://github.com/GTaRR/WebPParseAndConvert/wiki/ModX)
- [Без CMS](https://github.com/GTaRR/WebPParseAndConvert/wiki/%D0%91%D0%B5%D0%B7-CMS)

Если нет поддержки WebP на сервере сайта
----------------------------------------

[](#если-нет-поддержки-webp-на-сервере-сайта)

Можно использовать cоздать на другом сервере, на котором есть поддержка конвертирования в WebP, облачный сервис [webp-convert-cloud-service](https://github.com/rosell-dk/webp-convert-cloud-service) и обращаться к нему по API. Для работы такого варианта необходимо в `$options` передать два параметра `useApi` и `api`:

```
$options = array(
    'useApi' => true,
    'api' => array(
       'key' => 'some API key',
       'url' => 'http://example.com/wpc.php'
    )
);
```

Использовать данный способ на постоянной основе на сайте с динамически обновляемой информацией не рекомендуется в виду достаточно долгих операций отправки/получения изображений через cURL.

###  Health Score

22

—

LowBetter than 23% of packages

Maintenance7

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~40 days

Recently: every ~79 days

Total

11

Last Release

2129d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7c58506ec0801995ab2918611cbb9d3946d86d8e42edce5e38788ffe46b9a029?d=identicon)[Vladimir Sushilov](/maintainers/Vladimir%20Sushilov)

---

Top Contributors

[![GTaRR](https://avatars.githubusercontent.com/u/33573215?v=4)](https://github.com/GTaRR "GTaRR (100 commits)")

### Embed Badge

![Health badge](/badges/gtarr-webp-parse-and-convert/health.svg)

```
[![Health](https://phpackages.com/badges/gtarr-webp-parse-and-convert/health.svg)](https://phpackages.com/packages/gtarr-webp-parse-and-convert)
```

###  Alternatives

[goat1000/svggraph

Generates SVG graphs

132849.6k3](/packages/goat1000-svggraph)[contao/image

Contao image library

131.7M9](/packages/contao-image)[intervention/image-driver-vips

libvips driver for Intervention Image

4495.5k6](/packages/intervention-image-driver-vips)[rosell-dk/webp-convert-cloud-service

Cloud service for converting JPEG &amp; PNG to WebP

545.6k3](/packages/rosell-dk-webp-convert-cloud-service)[felixhaeberle/kirby3-webp

Kirby 3 CMS plugin for converting JPG, JPEG and PNG into much smaller WEBP – speed up your website!

397.5k](/packages/felixhaeberle-kirby3-webp)[web200/magento-mod-web200_image-resize

Magento 2 Module to add simple image resizing

1032.8k1](/packages/web200-magento-mod-web200-image-resize)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
