Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Libraries > smarty как сравнить значение с \


Автор: marduk123 21.7.2009, 07:57
Прошу помощи мне необходимо в условии сравнить является переменная слешем, либо нет,
тоесть условие выглядит вот так {if $rep = / }
вот на него он и ругается, подскажите, как мне оформить эту конструкцию?

Автор: niaz 21.7.2009, 08:20
думаю что так

{if $rep == '/' } если будет ругатся то убери кавычки

Автор: marduk123 21.7.2009, 08:36
если делаю без кавычек, то ругается, если делаю с кавычками, то условие не проходит.

Автор: niaz 21.7.2009, 08:39
Лучше выложи весь код! У тебя наверное переменная не существует. Надо ее передать через assign

Автор: marduk123 21.7.2009, 08:39
вобщем объясню, что я делаю может есть варианты проще smile
мне нужно узнать сколько в строчке знаков /

{foreach item=urla2 name=urla from=$page_data.url}  
{if urla2 ==  / } бла бла бла {/if}
{/foreach}

как вариант может быть кто нибудь поможет с помощью регулярных выражений посчитать сколько слешей в строке? (к сожалению не умею ими пользоваться)

Автор: niaz 21.7.2009, 08:45
мне кажется тебе нужна эта функция

substr_count()

Синтаксис:

    int substr_count(string haystack, string needle)

Функция substr_count() находит количество вхождений фрагмента в строку. Она возвращает число фрагментов needle, присутствующих в строке haystack.

Пример:
Код

    <?
       $str = "dfhd@ffs@dfskfk@asas";
       $substr_count = substr_count($str,"@");
       echo ($substr_count);
    ?>


Результат: 3.

Добавлено через 1 минуту и 39 секунд
и надо посчитать количество не в шаблоне, а в программе и передать шаблону.

Автор: skyboy 21.7.2009, 10:03
Цитата(niaz @  21.7.2009,  07:45 Найти цитируемый пост)
мне кажется тебе нужна эта функция
substr_count()

угу.
тем более, что можно использовать встроенные функции php, как модификаторы.
Код

{$page_data.url|substr_count:"/"}

Автор: marduk123 21.7.2009, 10:08
огромное спасибо smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)