У меня есть цикл в моем коде, где я хочу, чтобы извлечь только первый, пятый и шестой номер из массива, который выглядит следующим образом:Регулярное выражение в PHP fgetcsv
Array ([0] => 12403;644;20;46;5;285;;;;)
В настоящее время я пытаюсь использовать регулярные выражения для извлечения этих чисел (в этом случае мне нужно получить 12403, 5 и 285).
$contents = fgetcsv($handle);
preg_match('/^(\d+);\d+;\d+;\d+;(\d+);(\d+);*.$/', $contents, $match);
echo "first capture group: " . $match[0] . "\nsecond capture group: " . $match[1] . "\nthird capture group: " . $match[2];
Это печатает пустые переменные. Зачем? Не могли бы вы помочь?
Почему бы вам просто не указать ';' как разделитель CSV? Тогда вы можете использовать '$ contents [0]', '$ contents [4]' и т. Д. – Barmar
Ницца, это выглядит лучше :) Спасибо! – jvitasek