Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: заменить слово в файле

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
darkstar
Отправлено: 15 Декабря, 2009 - 01:42:22
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




Есть например файл text.txt c содержимым: привет меня зовут <b>Файл</b> а кто ты.
Так вот нужно заменить слово Файл на свое и сохранитьв text.txt, как это зделать подскжите ?
 
 Top
Champion Супермодератор
Отправлено: 15 Декабря, 2009 - 08:47:51
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Ты скажи, в чем проблема. Считать не получается? Строку заменить? Записать?
 
 Top
darkstar
Отправлено: 15 Декабря, 2009 - 09:51:45
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




невыходит строку заменить, скрипт дописут кучю хлама в самый конец файла.
 
 Top
Champion Супермодератор
Отправлено: 15 Декабря, 2009 - 10:22:51
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Прочитай пожалуйста, как правильно задавать вопросы в самой верхней теме этого раздела.
 
 Top
Viper
Отправлено: 15 Декабря, 2009 - 10:45:40
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




PHP:
скопировать код в буфер обмена
  1. $string = 'привет меня зовут <b>Файл</b> а кто ты.';
  2. echo preg_replace('/<b>(.*?)<\/b>/i', '<b>Мой файл</b>', $string);


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
darkstar
Отправлено: 15 Декабря, 2009 - 11:57:29
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Март 2009  


Помог: 0 раз(а)




есть такое
PHP:
скопировать код в буфер обмена
  1.  
  2. $br = 'zamena';
  3. $file =  fopen("test.txt","a+");
  4. $string = file("test.txt");
  5. preg_match("/<b>(.*?)<\/b>/i",$string[0],$out);
  6. $outfile = preg_replace('/$out[1]/', $br, $string[0]);
  7. fputs ($file,$outfile);
  8. fclose ($file);
  9.  

но как видно неменяет он в данные в файле, между тегами граблю потому что это значение может быть разным.
 
 Top
Viper
Отправлено: 15 Декабря, 2009 - 12:37:43
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




darkstar мануалы иногда читать нужно. из начально поставленной задачи
darkstar пишет:
Так вот нужно заменить слово Файл на свое


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

PHP:
скопировать код в буфер обмена
  1. $file = fopen('test.txt','a+');
  2. $array_content = file('test.txt');
  3. $array_result = preg_replace('/<b>(.*?)<\/b>/i', '<b>Мой файл</b>', $array_content);
  4. echo $array_result[0];


да и ещё момент. т.к. у вас на входе массив, то замена будет произведена только в первом элементе. для того чтобы заменяло в всем массиве, нужно либо массив замен для каждого элемента, либо через цикл протись по каждому элементу и заменить.

(Отредактировано автором: 15 Декабря, 2009 - 12:45:22)



-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB