Мне нужно извлечь следующие данные из txt-файла (отображается в ссылке), а затем сохранить каждое поле, указанное в mysql, моя проблема заключается в том, как получить каждое поле, содержащееся в строке, поскольку оно разделено пробелами
Я попытался, array = explode(' ', $line);
но этот метод экономит места
Я хотел бы вложить его в массив,
Array=( [0] => '1', [ 1] => 'OC1', [2] => 'Columna', [3] => '1', [4] => 'IN45X104', [5] => '11745' .... );
$string = preg_replace("/\s[\s]+/",",",$string); $array = explode(",",$string);
preg_replace
просто работает как str_replace
но позволяет вам заменять с помощью регулярного выражения /\s[\s]+/
соответствует нескольким пробелам, а затем все эти белые пробелы заменяются одиночным ","
поэтому его легко взорвать сейчас.
Функция Источник: http://in3.php.net/manual/en/function.preg-replace.php
Используйте preg_split () для соответствия сложным разделителям
<?php $line="test test2 test3"; $array=preg_split('/\s+/',$line); print_r($array);
попробуй это,
$tok = strtok($string, " \n\t\x0B\0"); while ($tok !== false) { echo "Word=$tok<br />"; $tok = strtok(" \n\t\x0B\0"); }
strtok () разбивает строку (str) на более мелкие строки (токены), причем каждый токен делится на любой символ из токена. То есть, если у вас есть строка типа «Это примерная строка», вы можете подделать эту строку в свои отдельные слова, используя символ пробела в качестве токена.