if ( !empty( $theme ) and !preg_match( "#^[-.;:,?!\/)=(_\"\s0-9а-яА-Яa-z]+$#i", $theme ) )
// Обрезаем строку до длины, указанной в атрибуте maxlength $search = substr( $_POST['words'], 0, 64 ); // Убираем пробелы в начале и конце строки поиска $search = trim( $search ); echo $search .'<br>'; // тут се путем - как я провел лето // Убираем все "ненормальные" символы //setlocale(LC_CTYPE, 'ru_RU.utf-8'); $good = preg_replace("/[^a-zа-я\s]/ui", " ", $search); $good = trim( $good ); if ( empty( $good ) ) { header( 'Location: '.$page_forum.'.html'.'?action=searchForm' ); die(); } // Сжимаем двойные пробелы $good = ereg_replace(" +", " ", $good); // Получаем корни искомых слов $stemmer = new Lingua_Stem_Ru(); //это функция из другого скрипта, но работает нормально...вроде... $tmp = explode( " ", $good ); echo $good .'<br>'; // ибо тут вроде то же все хорошо - как я провел лето foreach ( $tmp as $wrd ) { // Если слово слишком короткое - не используем его if ( strlen($wrd) < 3 ) continue; $words[] = $stemmer->stem_word($wrd); } echo $wrd .'<br>'; // тут остается только - лето, но вроде так и должно быть... // Склеиваем массив $words обратно в строку $string = implode( "* ", $words ); $string = $string."*"; echo $string;