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
Форумы портала PHP.SU :: Версия для печати :: Не работает функция поиска и замены: str_replace
Форумы портала PHP.SU » PHP » Программирование на PHP » Не работает функция поиска и замены: str_replace

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

1. vanicon - 11 Февраля, 2011 - 21:42:03 - перейти к сообщению
Есть строка типа: Жизнь нашего города | Администрация городского округа Самара,
Нужно найти и заменить слово: Самара на <b>Самара</b>, то есть просто выделить его жирным шрифтом. Вот пример функции:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. function title_b($text,$zapros) {
  3. $text1 = str_replace($zapros, "<b>$zapros</b>",$text);
  4. return $text1;
  5. }
  6. echo title_b($item->title,$_GET['text-poisc']);
  7.  

Функция просто не срабатывает, но если вместо переменых написать просто слова например:
CODE (htmlphp):
скопировать код в буфер обмена
  1. function title_b($text,$zapros) {
  2. $text1 = str_replace("Самара", "<b>Самара</b>","Жизнь нашего города | Администрация городского округа Самара");
  3. return $text1;
  4. }

то функция работает, но все переменые я проверял и выводил их на экран все с ними вроде в порядки.
И еще один вопрос а поиск слова в строке какой?(регистра независимый)
2. movEAX - 12 Февраля, 2011 - 10:24:55 - перейти к сообщению
str_ireplace() - Case-insensitive version of str_replace.
3. JustUserR - 12 Февраля, 2011 - 13:37:54 - перейти к сообщению
vanicon пишет:
Функция просто не срабатывает
Возможной причиной осуществления некорретной работы предполагаемой функции замены вхождений элементов строковых параметров - является несопоставления уровней трактования и кодовой таблицы для заданных информационных полей
4. garvey - 12 Февраля, 2011 - 14:06:01 - перейти к сообщению
JustUserR, чё?
5. JustUserR - 12 Февраля, 2011 - 14:10:28 - перейти к сообщению
garvey пишет:
JustUserR, чё?
Предполагаемое PHP-приложение осуществляет некорректное функционирование при условии использование информационных полей получаемых из внешней среды - что может являться свидетельством использование некорректного параметра кодовой таблицы применяемой для проведения внутренних строковых операций в PHP-приложении
6. garvey - 12 Февраля, 2011 - 14:19:59 - перейти к сообщению
Ладно. Надеюсь, что топикстартер это понял.
7. vanicon - 22 Февраля, 2011 - 12:58:11 - перейти к сообщению
Если честно то насчет ответа JustUserR'a не понял ничего уж слишком мудрено написал, но понял одно что то с кодировкой, ну незнаю я на денвере щас кручу этот скрипт попробуйте также через функцию также как я прописать и повертеть если не трудно, или же через регулярку кто напишет?(я в этом не силен) мне просто нужно найти слово (регистронезависимое) в строке, и заменить его на другое слово вот и все
8. butchress - 20 Сентября, 2012 - 14:20:10 - перейти к сообщению
у тебя ошибка синтаксиса. отдели перемнную от строковой части - и будет счастье
$text1 = str_replace($zapros, "<b>".$zapros."</b>",$text);

 

Powered by ExBB FM 1.0 RC1