Smarty regex_replace in sORDER E-Mail?

Ich würde gerne in der sORDER Mail, die an den Kunden geht, einen Smarty regex_replace Modifier verwenden.

{$details.purchaseunit|regex_replace:"/[???]/":""}

Wenn $details.purchaseunit die Ziffer „0“ ausgibt, soll diese durch ein Leerzeichen oder garnichts ersetzt werden. Das soll aber nur passieren wenn wirklich nur die Ziffer „0“ ausgegeben wird und nichts anderes. Also logischerweise nicht bei „10“ denn sonst wird daraus ja eine „1 “. Und wenn $details.purchaseunit etwas anderes ausgibt, dann soll das natürlich ganz normal angezeigt werden. Ich habe einiges versucht aber da ich leider die nötigen Sprachen nicht beherrschen und ca. eine Stunde Googlen nicht geholfen hat, wende ich mich nun an euch.

Ich hoffe ich habe es verständlich erklärt.
Vielen Dank!

 

Reicht nicht sowas?

{if $details.purchaseunit != 0}{$details.purchaseunit}{/if}

Wenn es unbedingt ein regulärer Ausdruck sein soll, dann ist dein [???] das hier ^0$   (Enthält von Anfang[^] bis Ende[$] nur eine 0)

1 „Gefällt mir“

Probier es mal damit:

{$details.purchaseunit|regex_replace:"/(^0)/":""}

https://www.phpliveregex.com/p/qQE#tab-preg-replace

Die Klammer kann man sich sparen. Wichtig nur den Anfang mit ^ und das Ende mit $ markieren. Einfach nur

{$details.purchaseunit|regex_replace:"/^0$/":""}

 

 

1 „Gefällt mir“