function CssOptimizer::processFile
Processes CSS file and adds base URLs to any relative resource paths.
Parameters
array $css_asset: A CSS asset. The array should contain the `data` key where the value should be the path to the CSS file relative to the Drupal root. This is an example of the `data` key's value, "core/assets/vendor/normalize-css/normalize.css".
Return value
string The asset's cleaned/optimized contents.
1 call to CssOptimizer::processFile()
- CssOptimizer::optimize in core/lib/ Drupal/ Core/ Asset/ CssOptimizer.php 
- Optimizes an asset.
File
- 
              core/lib/ Drupal/ Core/ Asset/ CssOptimizer.php, line 85 
Class
- CssOptimizer
- Optimizes a CSS asset.
Namespace
Drupal\Core\AssetCode
protected function processFile($css_asset) {
  $contents = $this->loadFile($css_asset['data'], TRUE);
  $contents = $this->clean($contents);
  // Get the parent directory of this file, relative to the Drupal root.
  $css_base_path = substr($css_asset['data'], 0, strrpos($css_asset['data'], '/'));
  // Store base path.
  $this->rewriteFileURIBasePath = $css_base_path . '/';
  // Anchor all paths in the CSS with its base URL, ignoring external and absolute paths.
  return preg_replace_callback('/url\\(\\s*[\'"]?(?![a-z]+:|\\/+)([^\'")]+)[\'"]?\\s*\\)/i', [
    $this,
    'rewriteFileURI',
  ], $contents);
}Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
