Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: поиск по тексту 2х блоков из цифр
Форумы портала PHP.SU » » Вопросы новичков » поиск по тексту 2х блоков из цифр

Страниц (1): [1]
 

1. ПТО - 21 Апреля, 2016 - 19:51:54 - перейти к сообщению
пусть есть такой текст:

от 500+102.2 до 600+01.2

необходимо из него вернуть массив
['500+102.2', '600+01.2']

помимо слов "от" и "до" могут быть другие слова.
Условимся, что в нужных нам блоках из цифр всегда есть "+" и пробелов между плюсом и цифрами нет. Цифры всегда есть слева и справа от плюса, причем те, что справа, могут быть с точкой.

Кто может написать, как распарсить такие значения? Однако
2. IllusionMH - 21 Апреля, 2016 - 20:08:21 - перейти к сообщению
ПТО, выкатывайте свой вариант а мы подправим
3. ПТО - 21 Апреля, 2016 - 20:28:11 - перейти к сообщению
Хотелось бы как-нибудь шустро
Можно искать "+", далее просматривать символы слева и справа от плюса, являются ли они цифрами или точкой.
4. Строитель - 21 Апреля, 2016 - 20:30:44 - перейти к сообщению
Вот набросал, вроде то что нужно
PHP:
скопировать код в буфер обмена
  1. $str = 'от 500+102.2 до 600+01.2';
  2. $patt = '|\d+\+\d+\.?\d*|';
  3. preg_match_all($patt, $str, $arr);
  4. $out = [$arr[0][0], $arr[0][1]];
  5. print_r($out); //Array ( [0] => 500+102.2 [1] => 600+01.2 )
5. ПТО - 21 Апреля, 2016 - 21:00:37 - перейти к сообщению
Строитель пишет:
Вот набросал, вроде то что нужно
PHP:
скопировать код в буфер обмена
  1. $str = 'от 500+102.2 до 600+01.2';
  2. $patt = '|\d+\+\d+\.?\d*|';
  3. preg_match_all($patt, $str, $arr);
  4. $out = [$arr[0][0], $arr[0][1]];
  5. print_r($out); //Array ( [0] => 500+102.2 [1] => 600+01.2 )


Красава Хорошо
(Добавление)
то, что нужно!
Плюсую Подмигивание
6. Строитель - 21 Апреля, 2016 - 21:11:17 - перейти к сообщению
ПТО Закатив глазки ))

 

Powered by ExBB FM 1.0 RC1