| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
RUnner 25.03.2003 18:29
Почему эта конструкция меняет один пробел на два? Соответственно два на три, три на четыре и т.д. - каждый раз вызывая функцию над одной строкой бдуем получать последовательное увеличение количества подряд идущих пробелов@checkpost[in_string;maxlen][check1;tmpstr;check2]
$check1[^in_string.match[(\S{1,30})][gm]{$match.1 }]
^if(def $maxlen){
^if(^check1.length[]>$maxlen){
$tmpstr[^check1.mid(0;$maxlen)]
$check2[^tmpstr.match[(\s{3,})][gm]{$match.1}]
}{
$check2[^check1.match[(\s{3,})][gm]{$match.1}]
}
}{
$check2[^check1.match[(\s{3,})][gm]{$match.1}]
}
$result[$check2]
#end of checkpost[in_string;maxlen]