@maxsharun

Preg_match_all не парсит, хотя регулярка правильная. Что не так?

$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см';
preg_match_all('/[Цц][Ее][Нн][Аа][ |:|-|=|—]([0-9]+)[A-Z|a-z|А-Я|а-я| |₽]/', $text, $return);
print_r($return);


Если обернуть в if(preg_match_all...), то, естественно, ничего не выводит.

Выдает:
Array ( [0] => Array ( ) [1] => Array ( ) )
Тестирую регулярку на https://regex101.com/
Результат:
Match 1
Full match    87-97    Цена 600р
Group 1.    92-95    600
  • Вопрос задан
  • 98 просмотров
Решения вопроса 1
glaphire
@glaphire
PHP developer
Добавьте модификатор "u" вконце
preg_match_all('/[Цц][Ее][Нн][Аа][ |:|-|=|—]([0-9]+)[A-Z|a-z|А-Я|а-я| |₽]/u', $input_lines, $output_array);

https://www.phpliveregex.com/p/tjC
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы