Twig filter that joins an array using a different separator for the last element (e.g. "John, Mary, Bob and Jim").
The filter is registered at Packagist as cviebrock/twig-natural-join and can be installed using composer:
"require": {
...
"cviebrock/twig-natural-join": "0.9.*",
}
Or just download the zip file and copy the file into your src folder.
Enable the extension:
$twig = new Twig_Environment($loader, $options);
$twig->addExtension(new Cviebrock\Twig\NaturalJoinExtension());
If you are using Laravel and rcrowe/twigbridge, then enable the extension by adding an entry to the enabled
array in app/config/packages/rcrowe/twigbridge/extensions.php
:
'enabled' => [
...
'Cviebrock\Twig\NaturalJoinExtension',
],
Pass the normal seperator and final seperator to the filter:
{{ names|naturaljoin(", ", " and ") }} // John, Bill, Bob and Mary
Optionally pass true
as a third argument to turn on "Oxford" mode, which will add a normal seperator before the final seperator:
{{ names|naturaljoin(", ", " and ", true) }} // John, Bill, Bob, and Mary
Please use Github for bugs, comments, suggestions.
- Fork the project.
- Create your bugfix/feature branch and write your (well-commented) code.
- Commit your changes and push to your repository.
- Create a new pull request against this project's
master
branch.
twig-natural-join was written by Colin Viebrock and released under the MIT License. See the LICENSE file for details.
Copyright 2014 Colin Viebrock