如何在TYPO3 Fluid中删除文件名中“-”左侧的字符串?

时间:2018-09-07 19:14:09

标签: typo3 fluid typo3-8.x viewhelper

使用TYPO3 8 LTS,我们得到了许多标准化的文件名,例如:

ABC_105-Report.pdf 
DEFGH_110-Brochure.ppt

我们需要删除“-”左侧的所有内容,以便在TYPO3 Frontend中成为这样的列表:

Report.pdf 
Brochure.ppt

我们已经在使用VHS Viewhelpers,其中包含Format:Eliminiate,Substring,因此它可能是解决方案的一部分。

1 个答案:

答案 0 :(得分:3)

一种可能的解决方案是VHS:Format / PregReplaceViewHelper。

<f:alias map="{filenames: {
    0: 'ABC_105-Report.pdf',
    1: 'DEFGH_110-Brochure.ppt',
    2: 'FilenameWithoutMagicChar.jpg',
    3: 'Multiple-Magic-Chars.jpg'}}">
    <ul>
        <f:for each="{filenames}" as="filename">
            <li>
                {v:format.pregReplace(
                    subject: filename, 
                    pattern: '/^[^-]*-/', 
                    replacement: ''
                )}
            </li>
        </f:for>
    </ul>
</f:alias>

结果:

  • Report.pdf
  • Brochure.ppt
  • FilenameWithoutMagicChar.jpg
  • Magic-Chars.jpg

如果需要' Chars.jpg '而不是' Magic-Chars.jpg ',则正则表达式为/-.*/