![]() |
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]() ![]() ![]() |
|
dVital |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 21.6.2007 Репутация: нет Всего: нет |
Здраствуйте! Сейчас тружусь над разработкой одного скрипта, где требуется замена слов в большом объеме текста (> 100000 символов). Столкнулся с проблемой, что функция php str_replace не работает с такими большими строками. Что делать? Подскажите, пожалуйста.
|
|||
|
||||
ewolf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 15.8.2006 Где: г. Москва Репутация: 4 Всего: 18 |
Согласно документации php, ограничений на строки по длине практически нет (разьве что объемом оперативной памяти). Поэтому странно, чтобы str_replace имела проблемы с очень длинными строками (хотя возможно, что она обрабатывает их очень долго). Как вариант: разбивай длинную строку на несколько коротких
|
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 8 Всего: 260 |
dVital, может, попробуешь в самом деле разбить текст и проверить замену на кусках? ну, и хотя бы привести код, осуществляющий замену?
|
|||
|
||||
dVital |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 21.6.2007 Репутация: нет Всего: нет |
Разбить текст нельзя, потому что проблема в том, что заменяемое слово может оказаться поделено на 2
![]() Код, осуществляющий замену, - состоит из вызова одной функции - str_replace. Так что не знаю, что вам приводить. |
|||
|
||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 8 Всего: 401 |
dVital, уточните плз, следующие моменты:
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
dVital |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 21.6.2007 Репутация: нет Всего: нет |
SelenIT,
|
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 8 Всего: 260 |
str_replace - это функция. она не изменяет аргумент. измененный текст находится в результате вызова. Это учтено? |
|||
|
||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 8 Всего: 401 |
Хм... кодировка там скорее всего мультибайтная, возможно, дело в этом. Но неплохо бы все же увидеть код замены и минимальный кусок данных, вызывающий ошибку. -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
dVital |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 21.6.2007 Репутация: нет Всего: нет |
skyboy, это да.
SelenIT, сегодня откопаю текст программы и вынесу сюда. |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Тексты | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |