powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Работа с блоком текста
18 сообщений из 18, страница 1 из 1
Работа с блоком текста
    #37833983
Gjiod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, есть файл, состящий из блоков текста, которые разделенный цифрами 112233 Нужно взять блок текста из файла, произвести манипуляции и положить назад.
Написал такой код

$file = file_get_contents ('C:\папка1\папка2\файл.txt');
$expl = explode('112233', $file);
$block = $expl[0];
$blockch = str_replace( "текст", "AAAAAAAAAAAAAAAAAAa", $block);
file_put_contents ($file, $blockch);

Но не работает. Подскажите пожалуйста что я сделал не так
...
Рейтинг: 0 / 0
Работа с блоком текста
    #37834000
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не прочитал мануал по функции file_put_contents и вместо имени файла скормил ей какую то чушь.

PS: для оформления кода на форуме приветствуется использовать тег SRC.
...
Рейтинг: 0 / 0
Работа с блоком текста
    #37834001
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще хорошей практикой является давать переменным осмысленные имена. Что такое $file в данном примере - поди разбери. Если б переменная называлась $file_content, тогда вряд ли она попала бы на это место.
...
Рейтинг: 0 / 0
Работа с блоком текста
    #37834007
Gjiod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

file - содержимое файла текстового, где блоки с текстом, один из которых надо взять
все вроде понял, надо задать переменную для имени файла и там указать ее, спасибо
...
Рейтинг: 0 / 0
Работа с блоком текста
    #37834009
Gjiod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Только вот сохранить измененный блок текста, не трогая остальные не получилось :(
Сохраняет его одного и все, а как чтобы заменил его, а остальной текст не трогал не знаю :(
...
Рейтинг: 0 / 0
Работа с блоком текста
    #37834027
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для небольшого размера файлов вполне подходит такой алгоритм:
1. Прочитать весь файл в переменную.
2. Сделать необходимые изменения.
3. Записать содержимое переменной в файл.
Для больших - не годится. Если будут затруднения, опишите задачу подробнее.
...
Рейтинг: 0 / 0
Работа с блоком текста
    #37834029
Gjiod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

файл состоит из одинаковых блоков текста. Изменения надо только в первом сделать. Если просто заменять текст, то он заменится везде, а как чтобы в 1 блоке я не знаю
...
Рейтинг: 0 / 0
Работа с блоком текста
    #37834033
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Прочитать весь файл в переменную.
2. Разбить в массив
3. Сделать необходимые изменения в первом элементе массива.
4. Собрать массив в строку.
5. Записать строку в файл.
...
Рейтинг: 0 / 0
Работа с блоком текста
    #37834247
Gjiod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

Сложности наверное с 3им элементом. Как собрать в строку его, чтобы там измененный элемент учесть, и остальные, количество которых может быть разным
...
Рейтинг: 0 / 0
Работа с блоком текста
    #37834308
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не прошло и полсуток, вот уже и третий элемент появился. Так к вечеру до пятого дойдем )))
Почаще в мануал заглядывайте. И прочтите какую-нибудь книгу по основам программирования.
...
Рейтинг: 0 / 0
Работа с блоком текста
    #37834313
Gjiod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,
3ий пункт я имел ввиду )
да, эту функцию я видел, но как сказать ей чтобы взяла старые элементы + 1 новый вместо старого я не знаю (
...
Рейтинг: 0 / 0
Работа с блоком текста
    #37834322
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gjiod,

Вы не поверите, но достаточно сделать присваивание:
Код: php
1.
$expl[0] = "новое значение элемента массива";

Дальше додумаете самостоятельно?
...
Рейтинг: 0 / 0
Работа с блоком текста
    #37834324
Gjiod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

и потом просто что-то типа implode ($expl); ?
...
Рейтинг: 0 / 0
Работа с блоком текста
    #37834364
Gjiod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Такой вот код
$filepath = 'C:\папка\файл.txt';
$file = file_get_contents ('C:\папка\файл.txt');
$expl = explode('112233', $file);
$block = $expl[0];
$blockch = str_replace( "text", "AAAAAAAAAAAAAAAAAAa", $block);
$expl[0] = $blockch;
$imp = implode($expl);
file_put_contents ($filepath, $imp);

Все получилось впринципе, только вот разделитель 112233 теряется. Можно его как-то не терять, а оставлять после каждого блока?
...
Рейтинг: 0 / 0
Работа с блоком текста
    #37834433
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уверен, Вы принципиально не читаете мануал по используемым функциям.
...
Рейтинг: 0 / 0
Работа с блоком текста
    #37834619
Gjiod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

я почитал мануал, там мало и ничего такого нет :(
попытался для explode limiter использовать - не помогло
Ткните носом пожалуйста что и где читать
...
Рейтинг: 0 / 0
Работа с блоком текста
    #37834649
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Типа, одного раза 12699145 недостаточно?
...
Рейтинг: 0 / 0
Работа с блоком текста
    #37834652
Gjiod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

а нужно glue
первый раз читал не совсем понял что это, понял что необязательное. А сейчас вроде дошло, спасибо
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Работа с блоком текста
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]