You are here

private function FileExcludeFilter::compileExcludePatterns in Backup and Migrate 5.0.x

Convert an array of glob patterns to an array of regex patterns.

Used for file name exclusion.

Parameters

array $exclude: A list of patterns with glob wildcards.

Return value

array A list of patterns as regular expressions

1 call to FileExcludeFilter::compileExcludePatterns()
FileExcludeFilter::beforeFileBackup in src/Core/Filter/FileExcludeFilter.php
The 'beforeDbTableBackup' plugin op.

File

src/Core/Filter/FileExcludeFilter.php, line 65

Class

FileExcludeFilter
@package Drupal\backup_migrate\Core\Filter

Namespace

Drupal\backup_migrate\Core\Filter

Code

private function compileExcludePatterns(array $exclude) {
  if ($this->patterns !== NULL) {
    return $this->patterns;
  }
  foreach ($exclude as $pattern) {

    // Convert Glob wildcards to a regex.
    // @see http://php.net/manual/en/function.fnmatch.php#71725
    $this->patterns[] = "#^" . strtr(preg_quote($pattern, '#'), [
      '\\*' => '.*',
      '\\?' => '.',
      '\\[' => '[',
      '\\]' => ']',
    ]) . "\$#i";
  }
  return $this->patterns;
}