Проверка строки в Smarty

#smarty #codeigniter-2 #php-5.3 #smarty3 #smarty2

#smarty #codeigniter-2 #php-5.3 #smarty3 #smarty2

Вопрос:

У меня проблема с smarty framework, поэтому мне нужно проверить, начинается ли имя изображения с «http»: я пробую этот код:

 {foreach from=$video->result() item=v}

            {if substr($v->image,0,4) eq 'http'}
                <img src="{$v->image}" alt="">
            {else}
                <img src="{$IMG_URL}videos/images/{$v->date|date_format:'%Y'}/{$v->date|date_format:'%m'}/{$v->image}" alt="">
            {/if}

{/foreach}
  

Помогите мне, пожалуйста .. Существует другой способ?

Ответ №1:

Этот код должен работать нормально. Вероятно, ваши данные установлены неправильно.

Рассмотрим следующий тестовый код:

PHP-файл:

 class V {

    public $image = 'http://rwewreuiuiwre';
}
$smarty->assign('v', new V());
  

Файл шаблона:

 {if substr($v->image,0,4) eq 'http'}
http
{else}
non http
{/if}
  

Работает нормально. Если вы измените $image на hxttp, вы получите non http сообщение