Twig / PHP - Format string using Replace or Regex

前端 未结 3 1097
忘了有多久
忘了有多久 2021-01-18 04:30

How can I format a string in Twig as follows:

For example: img = 05myphoto-Car.jpg

I need to remove the numeric prefix and -

相关标签:
3条回答
  • 2021-01-18 04:54

    Better late than never...

    Just register it (for me was on index.php)

    $app['twig']->addFilter('preg_replace', new Twig_Filter_Function(function ($subject, $pattern, $replacement) {
        return preg_replace($pattern, $replacement, $subject);
    }));
    

    Then on the view: {{myVar|preg_replace('/\\d+/','')}}

    Notice that all backslashes MUST be escaped, if not, they will be removed by Twig...

    0 讨论(0)
  • 2021-01-18 05:05

    If you are willing to do it in the template, though it would be better as a controller/service, you can enable the preg_replace filter and strip numbers with something like preg_replace('/\d+/','') and use the capitalize filter in addition.

    0 讨论(0)
  • 2021-01-18 05:07

    This works for me just fine (Craft CMS):

    {# Removes all characters other than numbers and + #}
    {{ profile.phone|replace('/[^0-9+]/', '') }}
    
    0 讨论(0)
提交回复
热议问题