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]   

> Без описания
splish
Отправлено: 03 Февраля, 2011 - 20:18:13
Post Id


Новичок


Покинул форум
Сообщений всего: 31
Дата рег-ции: Нояб. 2010  


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




Добрый день.
в переменной $text содержится какой то текст

Пример текста:
А я иду шагаю по Москве Радость

Как сделать обработку текста что бы на выходе получить:
А я иду шагаю по Питеру Радость

Прошу показать пример обработки текста.
 
 Top
annihilus
Отправлено: 03 Февраля, 2011 - 20:25:10
Post Id



Гость


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


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




PHP:
скопировать код в буфер обмена
  1. echo str_replace("Москве","Питеру","А я иду шагаю по Москве");
 
 Top
Dekker8
Отправлено: 03 Февраля, 2011 - 20:31:44
Post Id



Частый гость


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


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




PHP:
скопировать код в буфер обмена
  1.  
  2. $mes = "Я шагаю по Москве";
  3. echo str_replace("Москве","Питеру",$mes);
  4.  


не успел первым Улыбка)))))
 
 Top
splish
Отправлено: 03 Февраля, 2011 - 20:32:55
Post Id


Новичок


Покинул форум
Сообщений всего: 31
Дата рег-ции: Нояб. 2010  


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




спасибо Радость
(Добавление)
Но почему не работает.

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. //connect code
  3. $res = mysql_query("SELECT text FROM data") ;
  4. $query = mysql_fetch_array($res) ;
  5. while ($query = mysql_fetch_array($res)) {
  6.  
  7. $from = 'Москва';
  8. $to = 'Питер';
  9.                
  10.                 $text = str_replace($from, $to, $query);
  11.                
  12.                 echo "<pre>" ;
  13.                 print_r($text) ;
  14.                 echo "</pre>" ;
  15.         }
  16. ?>
 
 Top
annihilus
Отправлено: 03 Февраля, 2011 - 20:57:44
Post Id



Гость


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


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




наверно потому что в $query не встречается слово "Москва".

И первая строка из таблицы в вашем коде не проходит вообще замену.
(Добавление)
И еще mysql_fetch_array возвращает массив , а не переменную.
(Добавление)
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. //connect code
  3. $res = mysql_query("SELECT text FROM data") ;
  4. while ($query = mysql_fetch_array($res)) {
  5.  
  6. $from = 'Москва';
  7. $to = 'Питер';
  8.                
  9.                 $text = str_replace($from, $to, $query['text']);
  10.                
  11.                 echo "<pre>" ;
  12.                 print_r($text) ;
  13.                 echo "</pre>" ;
  14.         }
  15. ?>

(Отредактировано автором: 03 Февраля, 2011 - 20:59:18)

 
 Top
Dekker8
Отправлено: 03 Февраля, 2011 - 21:06:10
Post Id



Частый гость


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


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




попробкй заменить слово в какойто части массива.....
 
 Top
splish
Отправлено: 03 Февраля, 2011 - 21:06:23
Post Id


Новичок


Покинул форум
Сообщений всего: 31
Дата рег-ции: Нояб. 2010  


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




В базе всего 1 строка.
После обработки функцией str_replace, текст не меняется Огорчение
Можно сделать подобное с массивом?
 
 Top
Dekker8
Отправлено: 03 Февраля, 2011 - 21:08:46
Post Id



Частый гость


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


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




дай содержимое той строки в которой хочешь поменять текст....
 
 Top
annihilus
Отправлено: 03 Февраля, 2011 - 21:11:04
Post Id



Гость


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


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




splish пишет:
В базе всего 1 строка.

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

(Отредактировано автором: 03 Февраля, 2011 - 21:11:44)

 
 Top
splish
Отправлено: 03 Февраля, 2011 - 21:14:22
Post Id


Новичок


Покинул форум
Сообщений всего: 31
Дата рег-ции: Нояб. 2010  


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




В базе data в поле text содержится текст:
А я иду шагаю по Москве

Выводиться строка на экран:
А я иду шагаю по Москве

Вот как изменить текст до вывода


annihilus, пробывал без цикла, тоже не получается.

(Отредактировано автором: 03 Февраля, 2011 - 21:16:41)

 
 Top
Dekker8
Отправлено: 03 Февраля, 2011 - 21:17:14
Post Id



Частый гость


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


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




PHP:
скопировать код в буфер обмена
  1. $from = 'Москва';
  2. $to = 'Питер';


там точно должны слова совпадать, вместо Москва в переменной $from поствать: Москве
(Добавление)
кстати ето решение уже было ранее вам предложено так что я немного повторился Улыбка))
 
 Top
splish
Отправлено: 03 Февраля, 2011 - 21:22:04
Post Id


Новичок


Покинул форум
Сообщений всего: 31
Дата рег-ции: Нояб. 2010  


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




Совпадать совпадают, НО не заменяются.
Чуть выше я в ручную писал и ошибся, в коде всё правильно написано было:

Москве
Питере
 
 Top
Dekker8
Отправлено: 03 Февраля, 2011 - 23:53:45
Post Id



Частый гость


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


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




проверь какое значение возвращает функция str_replace() true или false
 
 Top
splish
Отправлено: 04 Февраля, 2011 - 00:12:45
Post Id


Новичок


Покинул форум
Сообщений всего: 31
Дата рег-ции: Нояб. 2010  


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





Всем спасибо,annihilus отдельное спасибо, извиняюсь за невнимательность, код написаный annihilus работает.

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?PHP
  2. //connect code
  3. $res = mysql_query("SELECT text FROM data") ;
  4. while ($query = mysql_fetch_array($res)) {
  5.  
  6. $from = 'Москва';
  7. $to = 'Питер';
  8.                
  9.                $text = str_replace($from, $to, $query['text']);
  10.                
  11.                echo "<pre>" ;
  12.                print_r($text) ;
  13.                echo "</pre>" ;
  14.        }
  15. ?>
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB