You are here

public function TwigExtension::safeJoin in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/lib/Drupal/Core/Template/TwigExtension.php \Drupal\Core\Template\TwigExtension::safeJoin()

Joins several strings together safely.

Parameters

\Twig_Environment $env: A Twig_Environment instance.

mixed[]|\Traversable|NULL $value: The pieces to join.

string $glue: The delimiter with which to join the string. Defaults to an empty string. This value is expected to be safe for output and user provided data should never be used as a glue.

Return value

string The strings joined together.

File

core/lib/Drupal/Core/Template/TwigExtension.php, line 547
Contains \Drupal\Core\Template\TwigExtension.

Class

TwigExtension
A class providing Drupal Twig extensions.

Namespace

Drupal\Core\Template

Code

public function safeJoin(\Twig_Environment $env, $value, $glue = '') {
  if ($value instanceof \Traversable) {
    $value = iterator_to_array($value, false);
  }
  return implode($glue, array_map(function ($item) use ($env) {

    // If $item is not marked safe then it will be escaped.
    return $this
      ->escapeFilter($env, $item, 'html', NULL, TRUE);
  }, (array) $value));
}