比较Prestashop Smarty TPL文件中的单词(西里尔符号)



几乎在这里找到了解决方案

,但是我能理解此 {if $haystack1|strstr:"_thestring_"}Found!{/if} 不起作用与非拉丁符号...

问题:我需要检查$ payment_method.desc变量中是否存在字符串'§这是一个聪明的代码

The Variable **$payment_method.desc** contain this text 'Оплата наличными через кассы и терминалы'):

{assign "desc" $payment_method.desc}
{assign "var_1" "терминалы"}
{if $desc|@mb_stristr:$var_1|@var_dump}Found!{/if}
{if $desc|@mb_strstr:$var_1|@var_dump}Found!{/if}
{if $desc|@strstr:$var_1|@var_dump}Found!{/if}

如果使用拉丁符号,则相同的代码工作。

智能var声明使用php内部编码。

您应该检查与编码有关的mb_*功能的最后一个参数。检查以下内容:mb_strstr

这篇文章也可以帮助您:PHP对俄罗斯角色的不敏感比较

如果您确定字符串具有俄罗斯字符,则应考虑从" Windows-1251"编码转换。

任何PHP函数都可以从Smarty调用,因此您可以与所有PHP函数进行测试。

祝你好运。

相关内容

  • 没有找到相关文章

最新更新