Как прочитать текстовое содержание файла слово за словом в массиве в php - PullRequest
0 голосов
/ 06 января 2010

У меня есть текстовый файл с 8-10 словами в каждой строке с порядковыми номерами и пробелами. например, 1) слово 2) слово 3) слово 4) слово ......... и я хочу прочитать его в одномерном массиве только слова, а не последовательность №.

Ответы [ 3 ]

3 голосов
/ 06 января 2010

Если ваш файл выглядит так:

1)First 2)Second 3)Third 4)Forth
5)Fifth 6)Sixth ..

Используя эту функцию, вы можете извлечь только слово:

preg_match_all('/[0-9]+\)(\w+)/', $file_data, $matches);

Теперь $matches[1] будет содержать:

 Array
    (
        [0] => First
        [1] => Second
        [2] => Third
        [3] => Fourth
        [4] => Fifth
        [6] => Sixth
    )
0 голосов
/ 06 января 2010

Предполагая, что содержимое файла точно так же, как показано на duckyflip, другой возможный способ

$content = file_get_contents("file");
$s = preg_split("/\d+\)|\n/",$content);
print_r(array_filter($s));

выход

$ php test.php
Array
(
    [1] => First
    [2] => Second
    [3] => Third
    [4] => Forth
    [6] => Fifth
    [7] => Sixth
)
0 голосов
/ 06 января 2010

Прежде всего, если у вас есть каждое слово в новой строке, то сначала вы получаете строки:

$contents = file_get_contents ($path_to_file);
$lines = explode("\n", $contents);
if (!empty($lines)) {
    foreach($lines as $line) {
        // Then you get rid of sequence
        $word_line = preg_replace("/^([0-9]\))/Ui", "", $x);
        $words = explode(" ", $word_line); 
    }
}

(при условии, что последовательность начинается с "x)"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...