Как сравнить значение, содержащееся в переменной и строке без учета регистра в Smarty 2?

0

Я использую Smarty 2 на своем веб-сайте. В одном месте я сравниваю значение, содержащееся в переменной smarty с некоторым строковым значением. С моим текущим кодом происходит сравнение, но оно сравнивает значение с учетом чувствительности к регистру. Я хочу выполнить этот случай сравнения строк без учета регистра.

Я много искал для решения, но не смог его получить. Может кто-то, пожалуйста, помогите мне в сравнении строковых значений без учета регистра.

Для вашей справки ниже приведен код, который я написал:

{if $data.mode_of_transaction == 'paypal'} paid {/if}

Заранее спасибо. Жду ваших драгоценных ответов.

Теги:
case-insensitive
smarty
string-comparison
smarty2

1 ответ

0

Предполагая, что ваша строка здесь действительно paypal (без символов utf-8), вы можете просто использовать:

{if $data.mode_of_transaction|lower == 'paypal'} paid {/if}

или

{if $data.mode_of_transaction|lower == $otherVariable|lower} paid {/if}

в случае, если у вас есть оба значения в переменных.

  • 0
    Спасибо за ваш ответ, но вы снова сравниваете строки с учетом чувствительности к регистру. Вы сравниваете строковые значения только в нижнем регистре. Я хочу сравнение строк без учета регистра. Означает, что строка может быть «PayPal» или «PayPal» или «PayPal» или «PAYPAL» или любая другая комбинация символов нижнего и верхнего регистра. Основная цель - проверить, содержит ли переменная $ data.mode_of_transaction слово «paypal» (в любом случае) или нет. Как этого добиться в Smarty? Надеюсь, ты поможешь мне и в этот раз. Еще раз спасибо.
  • 1
    @ user2839497 Приведенный выше код будет делать именно то, что вы хотите. Он преобразует вашу строку в меньшую и сравнивает ее, так что все комбинации, сравнивающие paypal с PAYPAL , Paypal , 'PAYPAL` и т. Д., Вернут true

Ещё вопросы

Сообщество Overcoder
Наверх
Меню