удалить новые строковые символы из txt-файла, используя php

У меня есть txt-файл, такой как этот

Hello World John play football 

Я хочу удалить новый символ строки при чтении этого текстового файла, но я не знаю, как он выглядит как файл .txt, а его кодировка – utf-8

Solutions Collecting From Web of "удалить новые строковые символы из txt-файла, используя php"

Просто используйте функцию file с флагом FILE_IGNORE_NEW_LINES .

file читает целый файл и возвращает массив, содержащий все строки файла.

Каждая строка содержит новый символ линии в конце по умолчанию, но мы можем принудительно выполнить обрезку с помощью FILE_IGNORE_NEW_LINES .

Так будет просто:

 $lines = file('file.txt', FILE_IGNORE_NEW_LINES); 

Результат должен быть:

 var_dump($lines); array(5) { [0] => string(5) "Hello" [1] => string(5) "World" [2] => string(4) "John" [3] => string(4) "play" [4] => string(8) "football" } 

Существуют разные типы переводов. Это приведет к удалению всех трех видов в $string :

 $string = str_replace(array("\r", "\n"), '', $string) 

Если вы собираетесь помещать строки в массив, предполагая разумный размер файла, вы можете попробовать что-то вроде этого.

 $file = 'newline.txt'; $data = file_get_contents($file); $lines = explode(PHP_EOL, $data); /** Output would look like this Array ( [0] => Hello [1] => World [2] => John [3] => play [4] => football ) */ 

Я отмечаю, что способ, которым он был вставлен в вопросе, в этом текстовом файле есть символы пробела в конце каждой строки. Я предполагаю, что это было случайно.

 <?php // Ooen the file $fh = fopen("file.txt", "r"); // Whitespace between words (this can be blank, or anything you want) $divider = " "; // Read each line from the file, adding it to an output string $output = ""; while ($line = fgets($fh, 40)) { $output .= $divider . trim($line); } fclose($fh); // Trim off opening divider $output=substr($output,1); // Print our result print $output . "\n";