Приветствую.
Имеется такая регулярка:
preg_match('~^.*?(.*)' . preg_quote("*") . '(\\d+).*?$~', $str, $matches)
На выходе из строки вида
800*600 получаем
800 и
600 соответственно.
Однако, если будет работать с такой строкой:
255*200,5, то (
,5) обрубается, и получаем 255 и 200.
Методом "в лоб" исправил выражение на такое:
preg_match('~^.*?(.*)' . preg_quote("*") . '(\d+\,\d+).*?$~', $str, $matches)
Но, теперь ситуация обратная. С целыми числами не работает, а дробные обрабатывает, как и требуется.
Можно конечно проверять предварительно на наличие запятой и действовать в зависимости от этого, но мне кажется можно решить этот вопрос и средствами модификации регулярки. Правда поиски не привели к результату.
Буду благодарен за подсказки.
Спасибо.