Помогите с командой replace

Тема в разделе "Как сделать...", создана пользователем Grunuk, 22 янв 2014.

Статус темы:
Закрыта.
  1. Grunuk

    Grunuk

    Регистр.:
    19 янв 2008
    Сообщения:
    187
    Симпатии:
    6
    Есть код:
    Код:
    {math equation="a * b" a=$cart_content[i].cost|replace:'$':''  b=$currencies[0].currency_value}
    здесь идет замена символа $ на пробел, как сюда добавить чтобы была замена на пробел еще символа запятая?

    Есть цена товара: $3,456.00
    и правильно не считает, потому что еще кроме символа "доллар", есть еще и символ "запятая"

    upd latteo, спасибо! все заработало! ты мегамозг!!
     
    Последнее редактирование модератором: 22 янв 2014
  2. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.404
    Симпатии:
    1.185
    Код:
    {math equation="a * b" a=$cart_content[i].cost|replace:'$':''|replace:',':''  b=$currencies[0].currency_value}
    http://www.smarty.net/docsv2/ru/language.function.math.tpl

    Упомянув, что это smarty ты бы ничего не прогадал, а людям понятней...
     
  3. Grunuk

    Grunuk

    Регистр.:
    19 янв 2008
    Сообщения:
    187
    Симпатии:
    6
    Да, но с командой replace здесь ничего нету...(((
    Вот как я еще делал:
    Код:
    {math equation="c*b" a=$cart_total|replace:'$':'' b=$currencies[0].currency_value c=a|replace:',':'' format="%.2f" assign=cart_val2}{$cart_val2}
    не работает...
     
    Последнее редактирование: 22 янв 2014
  4. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.404
    Симпатии:
    1.185
    Тот код, что я привёл, я проверял - код рабочий

    Вот про replace http://www.smarty.net/docsv2/ru/language.modifier.replace.tpl

    Сделать assign переменной с, которая должна использовать другую assign переменную нельзя, но зато можно вот так:
    Код:
    {assign var="a" value=$cart_content[i].cost|replace:'$':''}
    
    {math equation="c * b" c=$a|replace:',':''  b=$currencies[0].currency_value}
    
    http://www.smarty.net/docsv2/ru/language.custom.functions.tpl#language.function.assign

    обрати внимание что после assign a вызывается как переменная (со знаком доллара)
     
Статус темы:
Закрыта.