public function onPreProcess(CompressionEvent $event) { $html = $event->getContent(); if (!$event->isSafeToContinue()) { return; } if (preg_match($this->getReplacementPattern(), $html)) { $event->markFailed(); return; } // Find all occourrences of block pattern on response content if (preg_match_all($this->getPattern(), $html, $matches)) { foreach ($matches[0] as $k => $content) { // Save found block $this->blocks[$k] = $matches[1][$k]; // Insert replacements $html = mb_ereg_replace($content, sprintf($this->getReplacementFormat(), $k), $html); if ($html === false) { $event->markFailed(); break; } } } // Set response content if ($html !== false) { $event->setContent($html); } $this->executed = true; }
public function onCompress(CompressionEvent $event) { if (!$event->isSafeToContinue()) { return; } $event->setContent(mb_eregi_replace($this->getPattern(), '\\1\\2', $event->getContent())); }