![]() |
|
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]()
|
|
| tolik777 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 19.6.2006 Репутация: нет Всего: 2 |
Есть текст. В нем нужно к примеру 10-20% букв "у" заменить на "u", буквы "л" на "l".
Какой алгоритм попроще посоветуете? Я вот такой придумал: разбиваем весь текст по словам на массив путем explode. Затем mt_rand (0,10). Если меньше 2-х, то заменяем str_replace. Затем делаем implode. |
|||
|
||||
| Всемогущий |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 25.6.2006 Где: Челябинск Репутация: 3 Всего: 13 |
нужно изменить одну строку
добавить if и вычисление вероятности доделаю чуть позже сейчас работает как будто 100%
|
|||
|
||||
| Всемогущий |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 25.6.2006 Где: Челябинск Репутация: 3 Всего: 13 |
Добавлено через 3 минуты и 13 секунд работает(просто заново скопировал все функции с переделанной строкой)
|
||||
|
|||||
| -=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 6 Всего: 69 |
Странная задача вообще-то, не могу даже представить для чего это нужно. Лично я бы сделал так 1. Находим все искомые символы "у" 2. Берем их количество в размере 10-20% 3. Затем от этого количества делаем замену с помощью preg_replace, используюя параметр limit, который равен 10-20% -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
| Всемогущий |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 25.6.2006 Где: Челябинск Репутация: 3 Всего: 13 |
||||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 8 Всего: 401 |
Я бы использовал preg_replace_callback, а в качестве callback-функции - ту самую "условную заменялку по рандому"...
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Всемогущий |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 25.6.2006 Где: Челябинск Репутация: 3 Всего: 13 |
||||
|
||||
| tolik777 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 19.6.2006 Репутация: нет Всего: 2 |
Что то не работай этот код. Ругается на строку: foreach (one($text,$k) as $v1){
Warning: Invalid argument supplied for foreach() in |
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 8 Всего: 401 |
Сорри за задержку;), вот он:
Это сообщение отредактировал(а) SelenIT - 19.5.2007, 22:47 -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Тексты | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |