You are here

function twig_reverse_filter in Translation template extractor 6.3

Same name and namespace in other branches
  1. 7.3 vendor/Twig/Extension/Core.php \twig_reverse_filter()

Reverses a variable.

Parameters

Twig_Environment $env A Twig_Environment instance:

array|Traversable|string $item An array, a Traversable instance, or a string:

bool $preserveKeys Whether to preserve key or not:

Return value

mixed The reversed input

1 string reference to 'twig_reverse_filter'
Twig_Extension_Core::getFilters in vendor/Twig/Extension/Core.php
Returns a list of filters to add to the existing list.

File

vendor/Twig/Extension/Core.php, line 886

Code

function twig_reverse_filter(Twig_Environment $env, $item, $preserveKeys = false) {
  if (is_object($item) && $item instanceof Traversable) {
    return array_reverse(iterator_to_array($item), $preserveKeys);
  }
  if (is_array($item)) {
    return array_reverse($item, $preserveKeys);
  }
  if (null !== ($charset = $env
    ->getCharset())) {
    $string = (string) $item;
    if ('UTF-8' != $charset) {
      $item = twig_convert_encoding($string, 'UTF-8', $charset);
    }
    preg_match_all('/./us', $item, $matches);
    $string = implode('', array_reverse($matches[0]));
    if ('UTF-8' != $charset) {
      $string = twig_convert_encoding($string, $charset, 'UTF-8');
    }
    return $string;
  }
  return strrev((string) $item);
}