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;
 }
コード例 #2
0
 public function onCompress(CompressionEvent $event)
 {
     if (!$event->isSafeToContinue()) {
         return;
     }
     $event->setContent(mb_eregi_replace($this->getPattern(), '\\1\\2', $event->getContent()));
 }