Здравствуйте! <br/> <br/> Проблема, с которой вы можете столкнуться, часто может быть связана с тем, как выстроено регулярное выражение, либо с тем, как именно вы используете цикл для поиска. На первый взгляд ваше регулярное выражение выглядит как долгий поиск разных цен, но оно имеет несколько проблем, которые могут вызвать неожиданные результаты. <br/> <br/> Убедитесь в том, что регулярное выражение действительно корректно и работает должным образом. <br/> Попробуйте упростить регулярное выражение и убедиться, что оно работает для множества случаев. <br/> Убедитесь в том, что регулярное выражение используется правильно в цикле, если таковой имеется. <br/> Для вашего примера регулярное выражение можно упростить до: <br/> <br/> function test_price_min(){ <br/> $post = ' <br/> Текстиль <br/> 32-37/8 <br/> 975₽ <br/> '; <br/> <br/> $result_match = preg_match('/\d{1,6}\s*[рр₽]/ui', $post, $matches_gross); <br/> <br/> if ($result_match) { <br/> echo ''; <br/> print_r($matches_gross); <br/> echo ' <br/> '; <br/> } <br/> } <br/> <br/> test_price_min(); <br/> Вот пояснение изменения: <br/> <br/> Регулярное выражение <br/> \d{1,6}\s*[рр₽] <br/> ищет цену с необязательным пробелом между цифрами и символами валюты. <br/> Флаг <br/> ui <br/> позволяет проводить нечувствительный к регистру поиск в унифицированной кодировке. <br/> Если это все еще не решает вашу проблему, убедитесь, что при использовании цикла вы правильно передаете строку для анализа. Приведу пример использования регулярного выражения в цикле для множества строк: <br/> <br/> function test_price_min($posts){ <br/> foreach ($posts as $post) { <br/> $result_match = preg_match('/\d{1,6}\s*[рр₽]/ui', $post, $matches_gross); <br/> <br/> if ($result_match) { <br/> echo ''; <br/> print_r($matches_gross); <br/> echo ' <br/> '; <br/> } <br/> } <br/> } <br/> <br/> $posts = [ <br/> 'Текстиль <br/> 32-37/8 <br/> 975₽', <br/> 'Товар <br/> 12345р', <br/> 'Цена 5000 <br/> 7500₽' <br/> ]; <br/> <br/> test_price_min($posts); <br/> В этом примере <br/> $posts <br/> является массивом строк, для которых регулярное выражение проверяется в цикле.