{assign var="bar_at" value=$product.supplier_reference|strpos:"="}
的$product.supplier_reference
看起來像https://www.example.com/search?w=1366&h=610&q=the_actual_referenceSmarty的SUBSTR與strpos從去年發生
我需要得到最後的「=」(實際參考)後會發生什麼
如何在最後得到strpos發生?
{assign var="bar_at" value=$product.supplier_reference|strpos:"="}
的$product.supplier_reference
看起來像https://www.example.com/search?w=1366&h=610&q=the_actual_referenceSmarty的SUBSTR與strpos從去年發生
我需要得到最後的「=」(實際參考)後會發生什麼
如何在最後得到strpos發生?
首先正確的函數的去與是:strrpos
你有不同的方式來實現:
1-純智者方式:
{assign var="str" value="https://www.example.com/search?w=1366&h=610&q=the_actual_reference"}
{assign var="offset" value=$str|strrpos:"="}
{assign var="reference" value=$str|substr:($offset+1)}
{$reference}
2 - 在plugins目錄中創建新插件,該目錄位於以下路徑下:vendor/smarty/smarty/libs/plugins/
,使用新插件名稱添加新文件,例如您的Smarty的模板中
function smarty_function_money ($paramters) {
$url = $paramters['url'];
// here is our function body
}
:
創建一個新的功能smarty_function_getReference
,寫你的純PHP函數,然後直接像下面使用這個從你的Smarty的模板
{getReference url="https://www.example.com/search?w=1366&h=610&q=the_actual_reference"}
3-添加新修飾符:
哪裏,無論你要定義你的Smarty的視圖邏輯註冊新的修改:
$callback = function ($string) {
// perform your logic within this callback
};
$this->registerPlugin('modifier', 'getRefernce', $callback);
然後直接從你的Smarty模板調用這個修飾符就像下面:
{"https://www.example.com/search?w=1366&h=610&q=the_actual_reference"|getRefernce}
的組合純粹聰明的方式做到了這一招,謝謝。 – popkutt
猜你正在尋找一個[strrpos](http://php.net/manual/en/function.strrpos.php)和[substr](http://php.net/manual/en/function.substr.php) – Naruto