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 :: str_replace поиск в массиве и замена из массива не получается
то проблем никаких, среди строки находит символ и заменяет. А вот с массивом беда - не работает, возвращает неизменную строку
Помогите где я ошибся подскажите.
EuGen
Отправлено: 04 Августа, 2011 - 12:07:53
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Цитата:
С версии PHP 4.0.5, любой аргумент str_replace() может быть массивом
Настолько старая версия PHP ?
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
sv2011
Отправлено: 04 Августа, 2011 - 12:23:04
Новичок
Покинул форум
Сообщений всего: 7
Дата рег-ции: Авг. 2011
Помог: 0 раз(а)
EuGen пишет:
Цитата:
С версии PHP 4.0.5, любой аргумент str_replace() может быть массивом
Настолько старая версия PHP ?
Про версию php я в комментариях к функции читал, у меня 5.х
И еще в описании функции написано, что любым аргументом может быть массив, однако не получается.. Понимаю, что гдето втупил, но где не вижу..
P.S. Хм.. В настройках сервера стоит 4.3, хотя я совершенно точно версию изменял...
Изменю, отпишусь.
Странно, в настройках сервера (использую CPanel) версия не изменяется, точнее сбрасывается обратно на 4.3.9
Какие варианты с этой версийей есть для реализации нужного?
Покинул форум
Сообщений всего: 7
Дата рег-ции: Авг. 2011
Помог: 0 раз(а)
И так, версия php у меня 5.2.17 и, соответственно, str_replace должен искать в массиве и заменять массивом.
Но, тут уж ,видимо, моя ошибка. Функция, как я понимаю, ищет полностью весь массив в потоке и, не находя совпадения, ничего не заменяет. Вопрос теперь стоит так - как сделать, чтоб поиск был по значениям ключей, по каждому по отдельности?
Выводы о поиске в массиве сделал из-за того, что для проверки сделал поиск в потоке определенного значения и заменой из массива, ну и соответственно в итоге на экране увидел, что заменяемый символ заменяется array, а не значением.
Вот сам скрипт:
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.