| @@ -31,7 +31,7 @@ | ||
| 31 | 31 | ([\'"])? # optional to use a quote | 
| 32 | 32 | (\1|true|false|([\s>"\'])) # match the boolean attribute name again or true|false | 
| 33 | 33 | \2? # match the quote again | 
| 34 | -            /xi', function ($match) { | |
| 34 | +            /xi', function($match) { | |
| 35 | 35 |                  if (isset($match[4])) { | 
| 36 | 36 | return ' '.$match[1]; | 
| 37 | 37 | } | 
| @@ -36,7 +36,7 @@ | ||
| 36 | 36 | \2 # Backreference to the matched quote | 
| 37 | 37 | \s* | 
| 38 | 38 | /x', | 
| 39 | -            function ($match) { | |
| 39 | +            function($match) { | |
| 40 | 40 |                  if ($this->isBooleanAttribute($match[1])) { | 
| 41 | 41 | return Html::isLastAttribute($match[0]) ? $match[1] : $match[1].' '; | 
| 42 | 42 | } | 
| @@ -25,7 +25,7 @@ | ||
| 25 | 25 | ["\']? # Match an optional quote | 
| 26 | 26 | \s*javascript: # Match the text "javascript:" which should be removed | 
| 27 | 27 | /xis', | 
| 28 | -            function ($match) { | |
| 28 | +            function($match) { | |
| 29 | 29 |                  return str_replace('javascript:', '', $match[0]); | 
| 30 | 30 | }, $context->getContents()); | 
| 31 | 31 | |
| @@ -40,8 +40,8 @@ discard block | ||
| 40 | 40 | */ | 
| 41 | 41 | public function process(MinifyContext $context) | 
| 42 | 42 |      { | 
| 43 | -        Collection::make($this->redundantAttributes)->each(function ($attributes, $element) use (&$context) { | |
| 44 | -            Collection::make($attributes)->each(function ($value, $attribute) use ($element, &$context) { | |
| 43 | +        Collection::make($this->redundantAttributes)->each(function($attributes, $element) use (&$context) { | |
| 44 | +            Collection::make($attributes)->each(function($value, $attribute) use ($element, &$context) { | |
| 45 | 45 | $contents = preg_replace_callback( | 
| 46 | 46 | '/ | 
| 47 | 47 | '.$element.' # Match the given element | 
| @@ -55,7 +55,7 @@ discard block | ||
| 55 | 55 | \s* | 
| 56 | 56 | ) | 
| 57 | 57 | /xis', | 
| 58 | -                    function ($match) { | |
| 58 | +                    function($match) { | |
| 59 | 59 | return $this->removeAttribute($match[0], $match[2]); | 
| 60 | 60 | }, $context->getContents()); | 
| 61 | 61 | |
| @@ -79,21 +79,21 @@ | ||
| 79 | 79 | */ | 
| 80 | 80 | protected function removeNestedPlaceholders($originalContent) | 
| 81 | 81 |      { | 
| 82 | -        return preg_replace_callback('/'.Constants::PLACEHOLDER_PATTERN.'/', function ($match) { | |
| 82 | +        return preg_replace_callback('/'.Constants::PLACEHOLDER_PATTERN.'/', function($match) { | |
| 83 | 83 | return $this->get($match[0]); | 
| 84 | 84 | }, $originalContent); | 
| 85 | 85 | } | 
| 86 | 86 | |
| 87 | 87 | public function getPlaceholderSize() | 
| 88 | 88 |      { | 
| 89 | -        return $this->keys()->sum(function ($key) { | |
| 89 | +        return $this->keys()->sum(function($key) { | |
| 90 | 90 | return mb_strlen($key, '8bit'); | 
| 91 | 91 | }); | 
| 92 | 92 | } | 
| 93 | 93 | |
| 94 | 94 | public function getOriginalSize() | 
| 95 | 95 |      { | 
| 96 | -        return $this->values()->sum(function ($value) { | |
| 96 | +        return $this->values()->sum(function($value) { | |
| 97 | 97 | return mb_strlen($value, '8bit'); | 
| 98 | 98 | }); | 
| 99 | 99 | } | 
| @@ -30,7 +30,7 @@ discard block | ||
| 30 | 30 | */ | 
| 31 | 31 | protected function setCDataPlaceholder($contents, PlaceholderContainer $placeholderContainer) | 
| 32 | 32 |      { | 
| 33 | -        return preg_replace_callback('/<!\[CDATA\[((?!\]\]>).)*\]\]>/s', function ($match) use ($placeholderContainer) { | |
| 33 | +        return preg_replace_callback('/<!\[CDATA\[((?!\]\]>).)*\]\]>/s', function($match) use ($placeholderContainer) { | |
| 34 | 34 | return $placeholderContainer->addPlaceholder($match[0]); | 
| 35 | 35 | }, $contents); | 
| 36 | 36 | } | 
| @@ -66,7 +66,7 @@ discard block | ||
| 66 | 66 | > # Match the endif with the captured dashes | 
| 67 | 67 | ) | 
| 68 | 68 | /xis', | 
| 69 | -            function ($match) use ($placeholderContainer) { | |
| 69 | +            function($match) use ($placeholderContainer) { | |
| 70 | 70 |                  if (!empty(preg_replace('/\s*/', '', $match[3]))) { | 
| 71 | 71 | return $placeholderContainer->addPlaceholder($match[1]).$match[3].$placeholderContainer->addPlaceholder($match[4]); | 
| 72 | 72 |                  } else { | 
| @@ -16,10 +16,10 @@ | ||
| 16 | 16 | public function process($context) | 
| 17 | 17 |      { | 
| 18 | 18 | $contents = $context->getContents(); | 
| 19 | -        $contents = preg_replace_callback('/<\?=((?!\?>).)*\?>/s', function ($match) use ($context) { | |
| 19 | +        $contents = preg_replace_callback('/<\?=((?!\?>).)*\?>/s', function($match) use ($context) { | |
| 20 | 20 | return $context->getPlaceholderContainer()->addPlaceholder($match[0]); | 
| 21 | 21 | }, $contents); | 
| 22 | -        $contents = preg_replace_callback('/<\?php((?!\?>).)*(\?>)?/s', function ($match) use ($context) { | |
| 22 | +        $contents = preg_replace_callback('/<\?php((?!\?>).)*(\?>)?/s', function($match) use ($context) { | |
| 23 | 23 | return $context->getPlaceholderContainer()->addPlaceholder($match[0]); | 
| 24 | 24 | }, $contents); | 
| 25 | 25 | |
| @@ -63,7 +63,7 @@ discard block | ||
| 63 | 63 | \s+ # Match minimal 1 whitespace between the elements | 
| 64 | 64 |                  <('.$elementsRegex.')           # Match the start of the next inline element | 
| 65 | 65 | /xi', | 
| 66 | -            function ($match) use ($placeholderContainer) { | |
| 66 | +            function($match) use ($placeholderContainer) { | |
| 67 | 67 | // Where going to respect one space between the inline elements. | 
| 68 | 68 |                  $placeholder = $placeholderContainer->addPlaceholder(' '); | 
| 69 | 69 | |
| @@ -93,7 +93,7 @@ discard block | ||
| 93 | 93 | ) | 
| 94 | 94 |                  <('.$elementsRegex.')       # Match starting tag | 
| 95 | 95 | /xis', | 
| 96 | -            function ($match) use ($placeholderContainer) { | |
| 96 | +            function($match) use ($placeholderContainer) { | |
| 97 | 97 | return $this->replaceWhitespacesInInlineElements($match[1], $placeholderContainer).'<'.$match[3]; | 
| 98 | 98 | }, $contents); | 
| 99 | 99 | } | 
| @@ -108,7 +108,7 @@ discard block | ||
| 108 | 108 | */ | 
| 109 | 109 | private function replaceWhitespacesInInlineElements($element, PlaceholderContainer $placeholderContainer) | 
| 110 | 110 |      { | 
| 111 | -        return preg_replace_callback('/>\s/', function ($match) use ($placeholderContainer) { | |
| 111 | +        return preg_replace_callback('/>\s/', function($match) use ($placeholderContainer) { | |
| 112 | 112 |              return '>'.$placeholderContainer->addPlaceholder(' '); | 
| 113 | 113 | }, $element); | 
| 114 | 114 | } | 
| @@ -134,7 +134,7 @@ discard block | ||
| 134 | 134 | ((?:(?!<\/\2>).)+) | 
| 135 | 135 | (<\/\2>)/xis'; | 
| 136 | 136 | |
| 137 | -        return preg_replace_callback($pattern, function ($match) use ($placeholderContainer) { | |
| 137 | +        return preg_replace_callback($pattern, function($match) use ($placeholderContainer) { | |
| 138 | 138 | return $match[1].$placeholderContainer->addPlaceholder($match[3]).$match[4]; | 
| 139 | 139 | }, $contents); | 
| 140 | 140 | } | 
| @@ -78,6 +78,9 @@ | ||
| 78 | 78 | $this->statistics->createReferencePoint($this->calculateInputLength($input), $keyName); | 
| 79 | 79 | } | 
| 80 | 80 | |
| 81 | + /** | |
| 82 | + * @param string $input | |
| 83 | + */ | |
| 81 | 84 | private function calculateInputLength($input) | 
| 82 | 85 |      { | 
| 83 | 86 | return mb_strlen($input, '8bit') + $this->placeholderContainer->getOriginalSize() - $this->placeholderContainer->getPlaceholderSize(); |