Поиск по сайту

wcb-falcon

Новичок
Где то когда то нашел пример по поиску до сего времени она работал (на мастерхосте) переехали на агаву и тотже самый скрипт вызывает ошибку :(
вот пример скрипта:
PHP:
$searcharr = array();

$search = $_POST['search_text'];

    $search = trim($search); 
    $search = mysqli_real_escape_string($db,$search);
    $search = htmlspecialchars($search);

    if (!empty($search)) 
    { 
        if (strlen($search) < 3) {
            $text = '<p>Слишком короткий поисковый запрос.</p>';
        } else if (strlen($search) > 128) {
            $text = '<p>Слишком длинный поисковый запрос.</p>';
        } else { 

						$n = 0;
						$text = '';
						$numall = 0;
						
            $query_search = "SELECT `id`, `url`, `title`, `body`
                  FROM `content` WHERE
									`title` LIKE '%{$search}%'
                  OR `body` LIKE '%{$search}%' ";
						
						$res_search = mysqli_query($db,$query_search) or die(f_error(mysqli_errno($db),mysqli_error($db),$query_search));

            if (mysqli_affected_rows($db) > 0) { 
                $row = mysqli_fetch_assoc($res_search); 
                $num = mysqli_num_rows($res_search);

                
								$numall += $num;

								while ($line_search = mysqli_fetch_array($res_search)){
									$searcharr[$n]['table'] = 'content';
									$searcharr[$n]['id'] = $line_search['id'];
									
									$searcharr[$n]['name'] = $line_search['title'];
									
									$addres = UrlMenu($line_search);
									$searcharr[$n]['link'] = $addres['link'];
									$searcharr[$n]['target'] = $addres['target'];
									
									$n++;
								}
								
            } else {
                $text .= '<p>По вашему запросу ничего не найдено.</p>';
            }
						
						
						
						$by = 'name';
						usort($searcharr, function($first, $second) use( $by ) {
						if ($first[$by]>$second[$by]) { return 1; }
						elseif ($first[$by]<$second[$by]) { return -1; }
						return 0;
						});
						
						
						if(count($searcharr)>0){
							
							$text .= '<p>По запросу <b>'.$search.'</b> найдено совпадений: '.$numall.'</p>';
							
							asort($searcharr);
							$text .= '<ul>';
							for($i=0;$i<count($searcharr);$i++){
								$text .= '<li><a href="'.$searcharr[$i]['link'].'" '.(isset($searcharr[$i]['target'])?'target="'.$searcharr[$i]['target'].'"':'').'>'.$searcharr[$i]['name'].'</a></li>';
							}
							$text .= '</ul>';
						}
						
        } 
    } else {
        $text = '<p>Задан пустой поисковый запрос.</p>';
    }
		
		echo $text;

а вот ошибка которую теперь выдает
Parse error: syntax error, unexpected T_FUNCTION in /var/www/pochekuev/data/www/pochekuev.ru/search.php on line 55
ссылаясь на строку вот с этим выражением
usort($searcharr, function($first, $second) use( $by ) {

Просьба пояснить чего не хватает хостеру (что нужно включить чтобы заработало на хосте)
или же как переделать поисковик чтобы он работал
 
Не совсем понял смысл вашей ссылки (только если изучение анонимных функция)

Если есть возможность помогите переделать функцию поиска так чтобы она сработала и на старой версии пхп (поиск как видно проходит из базы в данном случае указана только одна таблица но по ее аналогии можно подключать и другие таблицы из всего найденного собирается новый массив данных который уже выводится пользователю.
 
wcb-falcon судя по всему, твой хостинг для добычи электричества сжигает в топках мамонтовое дерьмо. Версия PHP примерно того времени.
Съезжай с него на нормальный.
 
Сверху