Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ОтФорматированная Цена, регулярные выражения 
:(
    Опции темы
nicka47
  Дата 29.10.2007, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 23.3.2005
Где: Грузия

Репутация: нет
Всего: нет



нужно выводить цену отформатированную в виде 30 000 000, то есть с пробелами по тысячным, в исходе простое число.
Если есть у кого готовый скрипт, пожалуйста, пожелитесь, с решулярками пока не занималась, не хочеться тратить сейчас время на изучение.
Спасибо
PM MAIL   Вверх
SelenIT
Дата 29.10.2007, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



nicka47, а простой str_repace(' ','',$price) не подойдет? Или эти цены выводятся не сами по себе, а в готовом большом тексте?


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
chiffa
Дата 29.10.2007, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 734
Регистрация: 11.11.2003

Репутация: -1
Всего: -1



SelenIT, автор хочет не убрать пробелы а наоборот добавить. 
nicka47, решается все легко и просто. берешь число, читаешь посимвольно и после каждого третего символа ставишь " " думаю все єлементарно smile
PM MAIL   Вверх
SelenIT
Дата 29.10.2007, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



nicka47, перечитал ТЗ с учетом поправки chiffы и врубился. Сорри, действительно первый залп мимо...

chiffa, неужели это проще, чем использовать number_format  smile ?


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
nicka47
Дата 29.10.2007, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 23.3.2005
Где: Грузия

Репутация: нет
Всего: нет



chiffa,  так  уже сделано у меня, просто подумала что с ипользованием регулярных выражений будет более правильно
PM MAIL   Вверх
SelenIT
Дата 29.10.2007, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



nicka47, так а number_format чем не годится?

А регулярки тут, имхо, ну никак. Регулярки удобны при разборе строки от начала, а тут отсчет идет с конца...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
chiffa
Дата 29.10.2007, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 734
Регистрация: 11.11.2003

Репутация: -1
Всего: -1



SelenIT, ну решил я позабивать гвозди микроскопом smile)) А если серьездно то просто незнал, про такую функцию, сенкс за новые знания smile
PM MAIL   Вверх
nicka47
  Дата 29.10.2007, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 23.3.2005
Где: Грузия

Репутация: нет
Всего: нет



SelenIT, если честно, то я тоже кка раз не в курсе была насчет такой функции!
спасибо за иняормацию, изучу smile 
PM MAIL   Вверх
Наставник
Дата 31.10.2007, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 327
Регистрация: 4.11.2004

Репутация: 2
Всего: 15



Цитата(SelenIT @ 29.10.2007,  15:58)
А регулярки тут, имхо, ну никак. Регулярки удобны при разборе строки от начала, а тут отсчет идет с конца...

А все же с помощью регулярного выражения возможно и такую задачу решить. 
На самом деле забавная задачка в итоге получилась.

Код

<?php
$content="20299930044400212";

if($content_part=preg_replace('/(?<=\d)(?=(?:\d{3})+$)/'," ",$content))
    print_r($content_part);
?>


Как не странно, работает...
Ретроспективная проверка слева (?<=\d) требует, чтобы впереди оставались цифры (не больше 3)
Опережающая проверка справа справа (?=(?:\d{3})+$) (начиная с конца строки) требует чтобы каждые три разряда, заменялись на символ "пробел".

Конечно number_format вне конкуренции, но интересно было решить данную задачку с помощью регулярок. 
Отдельное спасибо за это SelenIT.



--------------------
Богатство языка определяет широту мысли
Персональный сайт >>
PM MAIL WWW   Вверх
SelenIT
Дата 31.10.2007, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



Наставник, красивый вариант! Правда, отсчет тут все равно идет с начала (на то опережающая проверка и опережающая), и для каждой цифры происходит подсчет ее "соседей справа" и проверка, кратно ли их число трем. Но идея такой пары проверок вполне может быть применена во многих случаях, где нет стандартного решения... и, пожалуй, стоит плюсика).


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0616 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.