smarty字符串连续两次替换

时间:2016-03-01 09:53:53

标签: string replace smarty prestashop

美好的一天。 我有一个关于创建https链接的问题,我得到的唯一入口点是聪明的,所以我的想法是简单地搜索并用http替换字符串https,但是,为了确定,我还想将字符串httpss转换为https来处理已经作为https的链接。

其实我这样做:

{$link->getCategoryLink($smarty.get.id_category, null, $lang.id_lang,null,null )|replace:"http":"https"}

有没有办法在同一行添加另一个字符串替换? 我的意思是:

{($link->getCategoryLink($smarty.get.id_category, null, $lang.id_lang,null,null )|replace:"http":"https")|replace:"httpss":"https"}

我每年只使用两次聪明,所以我不是那么专家,我不想增加复杂性(明年我将无法阅读);)

1 个答案:

答案 0 :(得分:1)

Smarty中有更好的选项(例如regex_replace),但是为了更正确的替换,你难道不能只替换整个协议吗?

{$link->getCategoryLink($smarty.get.id_category, null, $lang.id_lang,null,null )|replace:"http://":"https://"}

通过这种方式,您可以确定它不会替换包含单词http的链接的一部分(不在协议中),并且只会替换http://个链接