typo3 - 如何删除 TYPO3 Fluid 文件名中“-”左侧的字符串?
问题描述
使用 TYPO3 8 LTS,我们得到了许多标准化的文件名,例如:
ABC_105-Report.pdf
DEFGH_110-Brochure.ppt
我们需要删除“-”左侧的所有内容,以便在 TYPO3 前端中变成这样的列表:
Report.pdf
Brochure.ppt
我们已经在使用包含 Format:Eliminiate, Substring 的 VHS Viewhelpers,因此它可能是解决方案的一部分。
解决方案
一种可能的解决方案是 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>
结果:
- 报告.pdf
- 宣传册.ppt
- 文件名WithoutMagicChar.jpg
- 魔术字符.jpg
如果需要“ Chars.jpg ”而不是“ Magic-Chars.jpg ”,则正则表达式为/-.*/
.