2016-03-01 42 views
1

美好的一天全部。 我有一個關於創建https鏈接的小問題,我得到的唯一入口點是smarty,所​​以我的想法是簡單地搜索並用https替換字符串http,但是,只是可以肯定的是,我也想轉換字符串httpss轉換爲https以處理已經充當https的那些鏈接。smarty串連續替換兩次

其實我這樣做:

{$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"} 

我使用Smarty的只是每年兩次,所以我不那麼專家那裏,我不想增加複雜性(即我不能讀下一年);)

回答

1

在Smarty中有更好的選擇(例如regex_replace),但爲了更正確的替換,你不能只是替換整個協議嗎?

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

這樣,你可以肯定它不會取代包含單詞http(未在協議)的鏈接的一部分,只有http://鏈接將被替換

+0

EHM ...好。 ..你是絕對正確的:D –