Перейти к содержанию
Twix87

Вытащить текст из строки

Рекомендуемые сообщения

Добрый день. 

Подскажите, как вытащить вес из строки и подставить его в $massa? Начиная с ~ до кг.

shipping_method = Посылка 1 класса ~0.2кг. (Срок доставки: 3 дн.)

Спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
47 минут назад, Twix87 сказал:

Добрый день. 

Подскажите, как вытащить вес из строки и подставить его в $massa? Начиная с ~ до кг.

shipping_method = Посылка 1 класса ~0.2кг. (Срок доставки: 3 дн.)

Спасибо

регуляркой текст из строк вытаскивают

функция - preg_match_all

регулярка - /\~(.*?)кг/

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если я правильно понял, автор хочет получить информацию о весе оформленных заказов... инфа о них хранится в табличке oc_orders

Как альтернативный вариант: можно сразу селектом из базы достать нужное значение, сделав обработку строки средствами БД. Просто, дешево по ресурсам и эффективно :)

 

$order_id = 5000;
$sql = "SELECT SUBSTRING(oo.shipping_method, LOCATE('~', oo.shipping_method), LOCATE('кг.', oo.shipping_method) - LOCATE('~', oo.shipping_method)) FROM oc_order oo WHERE oo.order_id = '".$order_id."'";
$massa = $this->db->query($sql)->row;

 

Изменено пользователем 100napb
  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Плюсанул обоим. Сделал так:

$a['MASS'] = preg_match('/\~(.*?)кг/', $p['shipping_method'], $matches);
$a['MASS'] = $matches[1];

Спасибо!

  • +1 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.