Я новичок в PHP и пытаюсь разбить данные в текстовом файле и поместить их в массив, а затем в таблицу. Данные в текстовом файле выглядят так:
ЧЕЛОВЕК В ВЫСОКОМ ЗАМОКЕ Филиппа К. Дика опубликовал 1965 г.р., 1922 г.
Предположим, что вы не можете изменить исходные данные. Если я напишу:
$dataArray = explode(" ",$book);
это работает для большинства данных, но разбивает каждое слово названия книги на отдельный элемент. Есть ли способ, которым я могу сказать, чтобы не разбивать слова в верхнем регистре?
Вместо explode
вы можете попробовать использовать preg_split за это. Он разбивает строки с помощью регулярного выражения:
$book = 'THE MAN IN THE HIGH CASTLE by Philip K. Dick published 1965 born 1922';
// Split on all-lowercase words
print_r(preg_split('/\b\s*[a-z]+\s*\b/', $book));
Выход:
Array
(
[0] => THE MAN IN THE HIGH CASTLE
[1] => Philip K. Dick
[2] => 1965
[3] => 1922
)
$input = explode("by", $book);
$title = $input[0];
$stuff = $input[1];