Как в функции вырезать и передать поля?

165
06 марта 2018, 04:58
   function str_parse($str) {
        preg_match_all('~\b89\d{9}\b|#[^#\s]+~', $str, $arr);
        $text_clean = preg_replace('~\b89\d{9}\b\.?|#[^#\s]+~', '', $str);
        $hashtag = $arr[0][1] ?? false;
        $phone = $arr[0][0] ?? false;
        return compact('text_clean', 'phone', 'hashtag');
    }

Всем доброго времени суток. У меня два вопроса. Есть функция, которая принимает переменную с текстом, вырезает из него телефон и хэштег.

  1. Как из этого текста скопировать (не вырезать) первую строку до точки и выдать его в переменной $title?
  2. Как вырезать цену (только цифры) слово "Цена:" постоянная. если цены нет то выдать в переменную $price пустое поле.

Пример текста:

Звонить с 10 до 18 в будние дни. Оплата ежедневная, до 50% (после 15 000) Удаленная отчетность. График 5/2, 6/1 , плавающие выходные. Стабильный поток заказов,2-3 в день. Цена: 10000р 89999999999

Answer 1

Добрый день. Для забора первого предложения до точки можно использовать функцию explode

str = 'Тестовая строка. Тест'; 
echo  explode(".", $str)[0];

по второму вопросу preg_match и регулярка

$str = 'Звонить с 10 до 18 в будние дни. Оплата ежедневная, до 50% (после 15 000) Удаленная отчетность. График 5/2, 6/1 , плавающие выходные. Стабильный поток заказов,2-3 в день. Цена: 10000р 89999999999'; 
 
preg_match('/Цена:(.*)р/', $str, $matches); 
 
print_r($matches);

посмотрите вывод этого кода. Ну и дальше работайте с этим массивом, проводите нужные проверки.

http://php.net/manual/ru/function.preg-match.php

http://php.net/manual/ru/function.explode.php

READ ALSO
группировка полей yii2

группировка полей yii2

как вытащить группированные поля(received_person_id), через count не получается

177
PHP/JS выполнение функции/проверки в самой переменной

PHP/JS выполнение функции/проверки в самой переменной

Здравствуйте, подскажите как называется следующий синтаксис, когда непосредственно переменная играет роль функции:

133
Постоянное значение переменной

Постоянное значение переменной

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

167
MySql выборка с множественной подгруппой

MySql выборка с множественной подгруппой

На примере конструкции сайта с объявлениями

144