Пока вижу только сбор невалидных N-грамм через склеенный (и заранее известный, что корректный) текст и запись в массив: последовательность символов => как разделить.
Что-то вроде: $arr['аныбез']='аны без';
UPD: Могу ошибаться, но вот вопрос: Генерация слов путем сложения переменных? как раз с целью генерации подобных "склеек" для составления их всевозможных комбинаций.
profesor08, Тогда значит проблема в том, что 2 и более замен происходят (мутация с потерей токенов) и нужно делать в 2 этапа.
Так, что вариант: сначала 3, затем 2, затем оставшиеся - не вариант совсем, если не контролировать мутацию. (А если контролировать - то заменять все сразу одновременно можно, за один проход.)
SmartReptiloid, так там же расходящаяся трапеция будет от столба (контур тени) - как ни крути...
да ещё и если источник света не по центру оси вращения столба - то она даже не будет равнобедренной...
Иван Шумов, 1. Про безопасность в тексте вопроса - ни слова.
2. Я могу писать и функциями с применением regex-фильтрации.
Это я к чему? Не нужно говорить то, чего нет. А ваши предположения и догадки относительно качества кода, который Вы даже не видели - оставьте при себе. (без обид...)
Сергей Карвасарный, Konstantin Zhikhor, странно, что while(true) {...} никто из вас не посоветовал ;)
Надо узнать вначале: что там именно в коде, какая логика нужна...
И как быть?