symfony之PHP basename Twig 等价物

webabcd 阅读:67 2024-05-22 17:00:29 评论:0

Twig 中是否有与 PHP basename() 等效的函数?

就像是:

$file = basename($path, ".php"); 

请您参考如下方法:

使用 Twig,我们可以找到最后一个点 ( . ) 之后的字符串,并将其从字符串中删除以获得文件名(但如果有多个点,它将不起作用)。

{% set string = "file.php" %} 
{{ string|replace({ ('.' ~ string|split('.')|last): '' }) }} 
{# display "file" #} 
{% set string = "file.html.twig" %} 
{{ string|replace({ ('.' ~ string|split('.')|last): '' }) }} 
{# display "file.html" and not "file" #} 

解释:
{{ string|replace({     # declare an array for string replacement 
    (                   # open the group (required by Twig to avoid concatenation with ":") 
        '.' 
        ~               # concatenate  
        string 
            |split('.') # split string with the "." character, return an array 
            |last       # get the last item in the array (the file extension) 
    )                   # close the group 
    : ''                # replace with "" = remove 
}) }} 


标签:PHP
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号