Первое, о чем подумал, читая вопрос, это дежавю. Обращались в аську ко мне с подобным.
Давайте так - вы проверите последовательность строк в массивах $re и $out функции seo() и потом уже будем плясать с конкретикой.
Строки должны находиться строго по порядку, т.е. если, например, строка в массиве $re 10-я, то и в массиве $out эквивалент должен быть на той же позиции.