Hallo Community,
ich habe da mal eine Frage zum Kürzen mit Smarty variablen. Ich habe eine Variable dir mir folgendes ausgibt:
Test1|Testziel2|Test1|Teststart3|Test2|Testwert4 jetzte möchte ich diese Variable so kürzen das nur das nach der letzten Pipe stehen bleibt
truncate nimmt die Zeichen von hinten weg. Damit komme ich nicht ans ziel.
Mit substr bekomme ich auch nicht das ergebnis.
Hat jemand eine Idee wie cih das umsetzen kann.
Vielen Dank
sonic
30. Januar 2020 um 14:56
2
Angenommen, Deine Zeichenkette liegt in der Variablen $meinstring, dann bekommst Du mit
{assign var="mParamList" value="|"|@explode:$meinstring}
in der Var $mParamList ein Array mit den Teilstrings.
Wenn der Wert fest “4” ist, müsstest Du den Wert mit $mParamList[3] bekommen.
Andernfalls müsstest Du ggf. mit $mParamList|@count die Größe vom Array ermitteln, um dann mit “größe - 1” auf das Array zugreifen.
Ungetestet evtl.:
{assign var="mParamList" value="|"|@explode:$meinstring}
{assign var="elements" value=$mParamList|@count}
{$mParamList[$elements - 1]}
Oder BruteForce mit foreach durch das Array iterieren