聪明地替换可能包含彼此的多个值

时间:2019-05-15 09:24:12

标签: replace smarty

在我聪明的模板中,我从数据库中获得了这样的颜色代码:

c#m#fc#fm#

现在我想用html标签替换每个颜色代码。

c# => <i class='fas fa-circle cyan'></i> m# => <i class='fas fa-circle magenta'></i> fc# => <i class='fas fa-circle lightmagenta'></i> fm# => <i class='fas fa-circle lightcyan'></i>

我这样尝试过:

[{$oAttr->oxattribute__oxvalue->value|replace:"c#":"<i class='fas fa-circle cyan'></i>"|replace:"m#":"<i class='fas fa-circle magenta'></i>"|replace:"fc#":"<i class='fas fa-circle fcyan'></i>"|replace:"fm#":"<i class='fas fa-circle fmagenta'></i>"}]

问题在于replace:"c#":"<i class='fas fa-circle cyan'></i>也替换了c#中的fc#。这样f就剩下了。

什么是最佳解决方案?我认为regex_replace可以工作,但是我是一个完全正则表达式的初学者。有人可能会提供一些有用的提示或解决方案?

问候

0 个答案:

没有答案