Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 04.04.2016
Сообщений: 22

Не выводить в поиске слова из 1,2,3 букв

16.12.2019, 12:15. Показов 725. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте есть поисковая форма.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function wph_search_by_title($search, &$wp_query) {
    global $wpdb;
    if (mb_strlen($search) < 4) return $search;
 
    $q = $wp_query->query_vars;
    $n = !empty($q['exact']) ? '' : '%';
    $search = $searchand = '';
 
    foreach ((array) $q['search_terms'] as $term) {
       $term = esc_sql($wpdb->esc_like($term));
       $search.="{$searchand}($wpdb->posts.post_title LIKE '{$n}{$term}{$n}')";
       $searchand = ' AND ';
    }
 
    if (!empty($search)) {
        $search = " AND ({$search}) ";
        if (!is_user_logged_in())
            $search .= " AND ($wpdb->posts.post_password = '') ";
    }
    return $search;
}
add_filter('posts_search', 'wph_search_by_title', 500, 2);
в выражении
if (mb_strlen($search) < 4) return $search;
я попытался сделать то о чем написал в заголовке темы не выводить в результатах поиска слова из 1 или 2 или 3 букв к сожалению не получилось. Подскажите в чем ошибка
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.12.2019, 12:15
Ответы с готовыми решениями:

Выводить только слова, состоящие из латинских букв
Код: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; ...

Удалить из данного предложения слова, множество букв которых совпадает с множеством букв первого слова
стандартными стрелковыми функциями, объявленными в файле string.h пользоваться не разрешается удалить из данного предложения слова,...

При поиске выводить данные из связных таблиц Access
Добрый день! Делаю поиск по DGV и мне выводит соответствующие значения в textBox'ы. Задача в следующем: как вывести в один из textBox'ов...

2
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
16.12.2019, 12:26
PHP
1
2
3
4
5
6
7
8
9
10
function wph_search_by_title($search) {
    
    if (mb_strlen($search) < 4) return 'незя';
 
    //...........code............
    
    return 'мона';
}
echo wph_search_by_title('sea').'<br>';
echo wph_search_by_title('search').'<br>';
Code
1
2
незя
мона
очевидно что проблема не в условии а в чём-то другом
0
0 / 0 / 0
Регистрация: 04.04.2016
Сообщений: 22
19.12.2019, 13:38  [ТС]
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function wph_search_by_title($search, &$wp_query) {
    global $wpdb;
    if (empty($search)) return $search;
 
    $q = $wp_query->query_vars;
    $n = !empty($q['exact']) ? '' : '%';
    $search = $searchand = '';
 
    foreach ((array) $q['search_terms'] as $term) {
       $term = esc_sql($wpdb->esc_like($term));
       if (mb_strlen($term) < 4) continue;
       $search.="{$searchand}($wpdb->posts.post_title LIKE '{$term}%')";
       $searchand = ' AND ';
    }
 
    if (!empty($search)) {
        $search = " AND ({$search}) ";
        if (!is_user_logged_in())
            $search .= " AND ($wpdb->posts.post_password = '') ";
    } else {
        return 'false';
    }
    
    return $search;
}
add_filter('posts_search', 'wph_search_by_title', 500, 2);
PHP
1
  if (mb_strlen($term) < 4) continue;
Все получилось. Если кому надо можно пользоваться в wordpress. Этот код занисится в файл functions.php темы. Поиск ведется только по заголовкам сообщений. Сообщения из 1,2.3 букв не выводятся. Представьте себе кто то в поиске наберет букву А ? В итоге вылезет куча заголовков где есть буква А.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.12.2019, 13:38
Помогаю со студенческими работами здесь

Вводится слово из n- различных букв (n<10) получить все возможные слова из S букв этого слова (s<=n)
и вывести их в одном из каких нибудь компонентов

Чему равно число всез трёхбуквенных слов из букв слова из букв слова «гипотенуза»?
4. Проверьте то, что число трехбуквенных «слов», которые можно образовать из букв слова «гипотенуза», равно числу всех возможных...

Вывести на экран все возможные "слова" (сочетания букв), получаемые из букв этого слова
Пользователь вводит слово. Вывести на экран все возможные &quot;слова&quot;(сочетания букв), получаемые из букв этого слова(число букв не...

Вывести на экран все возможные "слова" (сочетания букв), получаемые из букв слова
пользователь вводит слово. Вывести на экран все возможные &quot;слова&quot;(сочетания букв), получаемые из букв этого слова(число букв не меняется)....

Регистр букв в поиске Edit
Что сделать, чтоб не учитывался регистр букв при вводе данных? procedure TForm3.Edit1Change(Sender: TObject); begin begin if...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru