DotsUnited\BundleFu\Filter\CssUrlRewriteFilter::filterFile PHP Метод

filterFile() публичный Метод

{@inheritDoc}
public filterFile ( $content, $file, SplFileInfo $fileInfo, $bundleUrl, $bundlePath )
$fileInfo SplFileInfo
    public function filterFile($content, $file, \SplFileInfo $fileInfo, $bundleUrl, $bundlePath)
    {
        $this->file = $file;
        $this->bundleUrl = $bundleUrl;
        $content = preg_replace_callback('/url\\((["\']?)(?<url>.*?)(\\1)\\)/', array($this, 'rewriteUrl'), $content);
        $content = preg_replace_callback('/@import (?!url\\()(\'|"|)(?<url>[^\'"\\)\\n\\r]*)\\1;?/', array($this, 'rewriteUrl'), $content);
        // Handle 'src' values (used in e.g. calls to AlphaImageLoader, which is a proprietary IE filter)
        $content = preg_replace_callback('/\\bsrc\\s*=\\s*(["\']?)(?<url>.*?)(\\1)/i', array($this, 'rewriteUrl'), $content);
        return $content;
    }

Usage Example

Пример #1
0
 /**
  * @dataProvider provideMultipleUrls
  */
 public function testMultipleUrls($format, $file, $bundleUrl, $inputUrl1, $inputUrl2, $expectedUrl1, $expectedUrl2)
 {
     $content = sprintf($format, $inputUrl1, $inputUrl2);
     $fileInfo = $this->getMockBuilder('\\SplFileInfo')->disableOriginalConstructor()->getMock();
     $filter = new CssUrlRewriteFilter();
     $filtered = $filter->filterFile($content, $file, $fileInfo, $bundleUrl, null);
     $this->assertEquals(sprintf($format, $expectedUrl1, $expectedUrl2), $filtered, '->filterFile() rewrites relative urls');
 }
All Usage Examples Of DotsUnited\BundleFu\Filter\CssUrlRewriteFilter::filterFile