Skip to main content

Twig replace using tag

Replace-Filter mit «tag» ergibt besser lesbaren Code

Anstatt kryptisch anmutenden HTML Code innerhalb des Twig «replace» Filters zu nutzen, kann man dies viel besser lesbar umsetzen, in dem man innerhalb des «replace» Filters den «tag» Befehl nutzt

{{
    entry.teaser | replace(
        entry.title,
        tag('strong', {
            text: entry.title,
            class: 'text-base font-semibold',
        })
    )
}}

Krönung

Da der Replace-Filter aber jegliches Vorkommen ersetzt, könnte man mit dem StringHelper nur das erste Vorkommen des Suchtextes ersetzen:

{{
    create('craft\\helpers\\StringHelper')
        .replaceFirst(
            entry.title,
            tag('strong', {
                text: entry.title,
                class: 'text-base font-semibold',
            })
        )
}}