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 :: Регистр букв preg_replace
Выполняю код у себя на лоакальном сервере: denwer win php 5.2.11 у меня заменяет все слова.
Выполняю на сервере: linux php 5.2.11 у меня заменяет только последнее слово.
Помогите разобраться, необходимо сделать замену не чувствительную к регистру, т.е. все слова должны замениться.
Покинул форум
Сообщений всего: 33
Дата рег-ции: Окт. 2010
Помог: 0 раз(а)
Обнаружил что регулярки плохо работают с кириллицей. Пример, который я написал, прекрасно работает с латиницей, а вот с кириллицей не работает. Есть нормальное решение этой проблемы?
OrmaJever
Отправлено: 03 Ноября, 2010 - 23:45:44
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
мне кажется нужно просто убрать модификатор i. Он же включает регистронезависимость.
Покинул форум
Сообщений всего: 182
Дата рег-ции: Янв. 2008
Помог: 0 раз(а)
Данные которые проходят обработку случайно не с другого сайта? Пересмотрите внимательно кодировку. А то в соседней теме подобная проблема была!
OrmaJever
Отправлено: 04 Ноября, 2010 - 13:05:08
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
dimka888 пишет:
Нет, вы не правы, должно заменить каждое соответствие шаблону.
Я говорил о конкретном случаи. Понятно что если совпадений будет больше то заменит все. Но на конкретном примере только последнее слово попадает под маску
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
dimka888
Отправлено: 04 Ноября, 2010 - 15:11:59
Новичок
Покинул форум
Сообщений всего: 33
Дата рег-ции: Окт. 2010
Помог: 0 раз(а)
OrmaJever Извините, забыл указать модификатора i. Поэтому должны замениться все слова. Так и происходит, если мы пишем только латиницу.
OverNik Да проблема не от где обрабатывается... а в том что даже в моем примере не работает правильно.
CenapaTop
Отправлено: 04 Ноября, 2010 - 15:38:25
Частый гость
Покинул форум
Сообщений всего: 166
Дата рег-ции: Авг. 2009
и заменяет все слова. если убрать модификатор i то заменяет только последнее. Попробуйте перед preg_replace() поставить var_dump($text), может там текст другой?
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
dimka888
Отправлено: 04 Ноября, 2010 - 22:30:44
Новичок
Покинул форум
Сообщений всего: 33
Дата рег-ции: Окт. 2010
Помог: 0 раз(а)
OrmaJever Я же писал на локалхосте под виндой и у меня работает все прекрасно. Загрузил скрипт на внешний сервер под linux и все, перестало работать. Вот в этом и заключается моя беда ( (Добавление)
Нашел решение проблемы подсказали на другом форуме.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.