Это олд скул, разбирать строки в циклах. Я в одном фрейморке подсмотрел, как чувак компрессирует коды скриптов и стилей перебирая текст по буквам и понял, почему народ думает про разбиение на массив и про реги. Потому что в циклах запутаешься и вообще они для всех трудные. А вот тут можете потренироваться
http://firepegs.com/_ab/_abbru.html как следует.
Про скрипт. Я вывел наружу длины текста и количество спама, но корреляцию для автоматического определения дистанции не нашел. Сами ищите. Еще можно рандомно ее задавать в некотором диапазоне.