- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть такая задача.
Есть куча вводимых значений цены. Пример
199.00$
122 $
111
220,99$
нужно как-то преобразовать все в значения вида
199
122
111
220
Есть регулярка которая выбирает только цифры, но тогда число 199.00 будет записано как 19900, что не верно.
[0-9\.,]+
intval($match)
search: (\d+)(?:[.,]\d+)?(?:\s*\$)?
replace: $1
пока не очень выходит. наверное как-то неверно вставляю.
Итак, вот заюзал вот так
$product_price = preg_replace("/[^0-9.]/","", $product_price);
Это дало результат в виде
112.00
22,22
13
А вот как теперь обработать эту переменную, чтобы откинуть знаки запятых и точек и цифры после них. При этом цена может быть и такой 112.999, т.е по кол-ву символов нельзя
Итак, вот заюзал вот так
А выше посмотреть, не?
А вот как теперь обработать эту переменную
intval($product_price)
А выше посмотреть, не?
intval($product_price)
да пробовал я так, вообще возвращает пустоту, хотя может синтаксис как-то не так сделал, хз
пока не очень выходит. наверное как-то неверно вставляю.
Итак, вот заюзал вот так
$product_price = preg_replace("/[^0-9.]/","", $product_price);
Это дало результат в виде
112.00
22,22
13
А вот как теперь обработать эту переменную, чтобы откинуть знаки запятых и точек и цифры после них. При этом цена может быть и такой 112.999, т.е по кол-ву символов нельзя
запятые заменить на точки, потом использовать floor()
ну или с помощью ф-ции preg_match() выделять целую часть с помощью попадания ее в круглые скобки.
$product_price = preg_replace('@([\., ]).*@smi','', $product_price);
Простейшая регулярка
/[0-9]*/
Вот простое регулярное выражение, которое должно подойти
$summa = 122,99 $;
preg_match('/[0-9]*/', $summa, $matches);
В массиве $matches будут все совпадения. В данном случае цифра 122
$summa = '122,99 $';
echo intval($summa);
echo preg_replace('/(\d+)(?:[.,]\d+)?(?:\s*\$)?/', '$1', $summa);