Здравствуйте, коллеги, Вот такая незадача: PHP: $return = array(); $text = ' Новинка Потрясающие платья Большие Размеры 50 52 54 56 58 60 Цена 600р В наличии на 24-118 и 22-106 БРЕНД By Raheem У нас ткань этой модели точь в точь как на фото и цвета #Параметрыплатье3яруса: Ткань Лакоста тянется, очень хорошое качество ткани на Лето дышащий Качество пошив очень хороший Размер в размер идут Платье тропеция свободного кроя Обхват груди: 50 размер - 102см 52 размер - 106см 54 размер - 110см 56 размер - 114см 58 размер - 118см 60 размер - 122см Длина платье: 50 размер - 103см 52 размер - 103см 54 размер - 105см 56 размер - 105см 58 размер - 106см 60 размер - 106см'; if(preg_match_all('/[Цц][Ее][Нн][Аа][ |:|-|=|—]([0-9]+)[A-Z|a-z|А-Я|а-я| |₽]/', $text, $return)) { print_r($return); } Выдает: Код (Text): Array ( [0] => Array ( ) [1] => Array ( ) ) Тестирую регулярку на https://regex101.com/ Результат: Код (Text): Match 1 Full match 87-97 Цена 600р Group 1. 92-95 600 Подскажите, пожалуйста, решение. Может, кто-то сталкивался с подобным. Спасибо.
Вопрос решился, надо поставить после регулярки флаг u: PHP: $return = array(); $text = ' Новинка Потрясающие платья Большие Размеры 50 52 54 56 58 60 Цена 600р В наличии на 24-118 и 22-106 БРЕНД By Raheem У нас ткань этой модели точь в точь как на фото и цвета #Параметрыплатье3яруса: Ткань Лакоста тянется, очень хорошое качество ткани на Лето дышащий Качество пошив очень хороший Размер в размер идут Платье тропеция свободного кроя Обхват груди: 50 размер - 102см 52 размер - 106см 54 размер - 110см 56 размер - 114см 58 размер - 118см 60 размер - 122см Длина платье: 50 размер - 103см 52 размер - 103см 54 размер - 105см 56 размер - 105см 58 размер - 106см 60 размер - 106см'; if(preg_match_all('/[Цц][Ее][Нн][Аа][ |:|-|=|—]([0-9]+)[A-Z|a-z|А-Я|а-я| |₽]/u', $text, $return)) { print_r($return); } Но многострочный текст не парсит, хоть и ставлю флаг m....
PHP: $text = ' Новинка Потрясающие платья Большие Размеры 50 52 54 56 58 60 Цена 600р В наличии на 24-118 и 22-106 БРЕНД By Raheem У нас ткань этой модели точь в точь как на фото и цвета #Параметрыплатье3яруса: Ткань Лакоста тянется, очень хорошое качество ткани на Лето дышащий Качество пошив очень хороший Размер в размер идут Платье тропеция Цена 100$ свободного кроя Обхват груди: 50 размер - 102см 52 размер - 106см 54 размер - 110см 56 размер - 114см 58 размер - 118см 60 размер - 122см Длина платье: 50 размер - 103см 52 размер - 103см 54 размер - 105см 56 размер - 105см 58 размер - 106см 60 размер - 106см'; if(preg_match_all('/Цена[ :-=—](\d+)\D/ui', $text, $return)) print_r($return); --- Добавлено --- m - изменяется поведение ^ и $. Зачем это вам?
Спасибо. Не проверял, т.к. убрал переносы. Но проверю. Я только начинаю в это въезжать. Можно сказать, первая осознанная регулярка (а не набор копипастов методом тыка) ))