12345678910111213141516171819202122232425 |
- <?php
- namespace App\Twig\Extension;
- use Twig\Extension\AbstractExtension;
- use Twig\TwigFilter;
- use Twig\TwigFunction;
- class ShowLinksExtension extends AbstractExtension
- {
- public function getFilters(): array
- {
- return [
- // If your filter generates SAFE HTML, you should add a third
- // parameter: ['is_safe' => ['html']]
- // Reference: https://twig.symfony.com/doc/3.x/advanced.html#automatic-escaping
- new TwigFilter('show_links', [$this, 'showLinks']),
- ];
- }
- public function showLinks(string $texte): string
- {
- return preg_replace('#((https?|ftp)://(\S*?\.\S*?))([\s)\[\]{},;"\':<]|\.\s|$)#i', "<a href=\"$1\" target=\"_blank\">$1</a>$4", $texte);
- }
- }
|