Определение переноса строки в PHP

numer482
На сайте с 06.07.2011
Offline
44
2297

Здравствуйте!

Имеется обычный текстовый файл вида:

Слово
Слово слово
Слово
Слово
Слово слово слово
Слово

Задача каждую новую строку файла загнать в БД. Как определить перенос? Можно ли это вообще реализовать? Ничего нагуглить не получилось. Был бы благодарен за наводку:drink:

vlad00777
На сайте с 24.12.2009
Offline
119
#1

Я делал по другому.

Слово

Слово слово

Слово

Слово

Слово слово слово

Слово

Если строка пустая, заносим предыдущее значение в бд.

Т.е если длина строки больше 0,тогда переменной т присвоить значение из строки, если строка пустая, заносим значение т в бд.

Верстка. Качественно! Адаптивная, резиновая, с параллаксом и прочими плюшками. В ЛС.
numer482
На сайте с 06.07.2011
Offline
44
#2
vlad00777:
Я делал по другому.

Если строка пустая, заносим предыдущее значение в бд.
Т.е если длина строки больше 0,тогда переменной т присвоить значение из строки, если строка пустая, заносим значение т в бд.

Но база внушительных размеров..и уже лежит именно в такой форме...😒

4arger
На сайте с 17.12.2008
Offline
95
#3

$array = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

http://php.net/manual/ru/function.file.php

numer482
На сайте с 06.07.2011
Offline
44
#4
4arger:
$array = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);


http://php.net/manual/ru/function.file.php

Во! То то нужно:) СПАСИБО ОГРОМНОЕ!!!!🍾

Обожаю серч:)

vlad00777
На сайте с 24.12.2009
Offline
119
#5

Ну у меня не правильное решение я уверен я только начинаю изучать азы php.

4arger, Это получается считывает построчно файл и каждую строку записывает в новый элемент массива?

4arger
На сайте с 17.12.2008
Offline
95
#6
vlad00777:
Ну у меня не правильное решение я уверен я только начинаю изучать азы php.
4arger, Это получается считывает построчно файл и каждую строку записывает в новый элемент массива?

да, вы правы :)

повторите у себя этот пример и все сами увидите:


$array = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
print_r($array); // или var_dump($array);

только не забудьте файл somefile.txt создать в папке со скриптом

vlad00777
На сайте с 24.12.2009
Offline
119
#7

У меня просто похожий файл есть и нужно тоже в бд заносить.

структура такая:


05.11.2012
такой-то текст
06.12.2012
какой-то текст

Естественно дату нужно заносить в одно поле, а текст в другое.

А ну в принципе решение пришло :) Если в элементе массива нет букв, то это дата и действие 1, иначе действие 2.

4arger
На сайте с 17.12.2008
Offline
95
#8
vlad00777:
У меня просто похожий файл есть и нужно тоже в бд заносить.
Естественно дату нужно заносить в одно поле, а текст в другое.
А ну в принципе решение пришло :) Если в элементе массива нет букв, то это дата и действие 1, иначе действие 2.

Оставлю как запасной вариант :) :

<?php 


$array = file('test.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$result = array();
foreach ($array as $_key => $_value) {
if ($_key % 2) {
$result[$_key - 1]['content'] = $_value;
} else {
$result[$_key]['date'] = $_value;
}
}
print_r($result);

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий