[Сценарий] Чтение и запись в текстовый файл
Re: [Сценарий] Чтение и запись в текстовый файл
К сожалению, этот пример выводит весь имеющийся текст в одно свойство.
Re: [Сценарий] Чтение и запись в текстовый файл
Надо проверять, что не так.Igor3691 писал(а): Пн окт 14, 2019 1:06 pm К сожалению, этот пример выводит весь имеющийся текст в одно свойство.
Вставляю код в онлайн-тестировщик кода (https://www.jdoodle.com/php-online-editor/)
Код: Выделить всё
<?php
$data = "data:XXX";
$data = explode('data:', $data);
$data = end($data);
print($data);
?>Re: [Сценарий] Чтение и запись в текстовый файл
Одна строка - да, а несколько:
<?php
$data = "data:XXX";
$data = explode('data:', $data);
$data = end($data);
$play = "play:YYY";
$play = explode('play:', $play);
$play = end($play);
$volume = "volume:ZZZ";
$volume= explode('volume:', $volume);
$volume= end($volume);
$status = "status:WWW";
$status = explode('status:', $status);
$status = end($status);
print($data);
print($play);
print($volume);
print($status);
?>
Результат: "XXXYYYZZZWWW"
<?php
$data = "data:XXX";
$data = explode('data:', $data);
$data = end($data);
$play = "play:YYY";
$play = explode('play:', $play);
$play = end($play);
$volume = "volume:ZZZ";
$volume= explode('volume:', $volume);
$volume= end($volume);
$status = "status:WWW";
$status = explode('status:', $status);
$status = end($status);
print($data);
print($play);
print($volume);
print($status);
?>
Результат: "XXXYYYZZZWWW"
Re: [Сценарий] Чтение и запись в текстовый файл
Собственно, ничего неожиданного. Так и должно быть.Igor3691 писал(а): Пн окт 14, 2019 9:32 pm Одна строка - да, а несколько:
...
Результат: "XXXYYYZZZWWW"
Задача формулировалась как: "выбрать все символы до конца строки, после определенного сочетания символов".
Если это не то, что вам нужно, то надо уточнить задачу (желательно, с приведением релевантного фрагмента реальных данных) и то, как должен выглядеть конечный результат.
Re: [Сценарий] Чтение и запись в текстовый файл
Каждая строка в своё свойство объекта.
Примерно так в текстовом файле:
stn:Russkoe radio
vol:254
tit:Leps
sts:1
Результат - свойства объекта KaRadio:
KaRadio.station - Russkoe radio
KaRadio.volume - 254
KaRadio.play - Leps
KaRadio.status - 1
Примерно так в текстовом файле:
stn:Russkoe radio
vol:254
tit:Leps
sts:1
Результат - свойства объекта KaRadio:
KaRadio.station - Russkoe radio
KaRadio.volume - 254
KaRadio.play - Leps
KaRadio.status - 1
Re: [Сценарий] Чтение и запись в текстовый файл
Теперь ситуация более-менее прояснилась. Можете прислать реальный файл?
Если действительно в файле каждый смысловой фрагмент начинается с новой строки, то представляется, что особых трудностей для извлечения нужных данных быть не должно. Осталось только выяснить, какой символ используется в файле для перехода на новую строку.
Если действительно в файле каждый смысловой фрагмент начинается с новой строки, то представляется, что особых трудностей для извлечения нужных данных быть не должно. Осталось только выяснить, какой символ используется в файле для перехода на новую строку.
Re: [Сценарий] Чтение и запись в текстовый файл
Да, вот он.
- Вложения
-
- dialog_result .txt
- (75 байт) 319 скачиваний
Re: [Сценарий] Чтение и запись в текстовый файл
Можно попробовать так:
и т.д. Для каждого параметра объект.свойства, разумеется, свои.
Во всяком случае у меня в онлайн-тестировщике кода необходимое содержимое из вашего файла прекрасно вычленяется.
Результат: "RUSSIAN POP 80-90".
Код: Выделить всё
$data=LoadFile('путь_к_файлу');
preg_match('/num: ([^
]*)/', $data, $matches);
SetGlobal('object.property',$matches[1]);
preg_match('/stn: ([^
]*)/', $data, $matches);
SetGlobal('object.property',$matches[1]);Во всяком случае у меня в онлайн-тестировщике кода необходимое содержимое из вашего файла прекрасно вычленяется.
Код: Выделить всё
<?php
$data = 'vol: 254
num: 11
stn: RUSSIAN POP 80-90
tit: Meladze Valeriy - Vera
sts: 1
';
preg_match('/stn: ([^
]*)/', $data, $matches);
echo $matches[1];
?>Re: [Сценарий] Чтение и запись в текстовый файл
Любите вы из пушки по воробьям стрелять....
как-то так
Код: Выделить всё
$lines = file('путь_к_файлу',FILE_IGNORE_NEW_LINES);
foreach ($lines as $line) {
$values=explode(':',$line);
if (count($values)>1) {
SetGlobal('KaRadio.'.$values[0],$values[1]);
}
}Re: [Сценарий] Чтение и запись в текстовый файл
Ну, батенька, для этого нужно быть программистом. А мы даже на звание "любителя" не претендуем.
Еще маленькое уточнение, у постановщика задачи наименования свойств не совпадают с наименованиями ключей массива. Чтобы в точности воспользоваться вашим примером (замечательным, надо отметить) постановщику задачи придется переименовывать наименования своих свойств.