tara
  • 0
Новичок

Как очистить/удалить все пробелы в начале/конце строки поиска

  • 0

Я использую хак Chris_O для выделения условий поиска. Когда пользователь вводит ключевые слова для поиска без пробела в начале или в конце строки поиска, он хорошо извлекает и выделяет условия поиска в соответствующих записях.

Но если пользователь вводит строку поиска с пустым пробелом в начале или в конце, он извлекает и выделяет условия поиска, но все неанглийские части содержимого публикации выглядят странно (например, ���� или ???). Хотя английский контент выглядит нормально, но с тегами (например, и т. д <p style="text-align: center;">test site</p> .)

Возможно ли в хаке убрать/удалить все пробелы в начале/конце строки поиска? большое спасибо.

Я использую версию 3.1.4 с темой двадцать десять по умолчанию.

Вот хак:

Шаг 1:

Добавьте эти 2 функции в свой functions.php

function search_content_highlight()
{
    $content = get_the_content();
    $keys = implode('|', explode(' ', get_search_query()));
    $content = preg_replace('/(' . $keys .')/iu', '<strong class="search-highlight">'placeholder4'</strong>', $content);
    echo '<p>' . $content . '</p>';
}

function search_title_highlight()
{
    $title = get_the_title();
    $keys = implode('|', explode(' ', get_search_query()));
    $title = preg_replace('/(' . $keys .')/iu', '<strong class="search-highlight">'placeholder4'</strong>', $title);
    echo $title;
}

Шаг 2:

В файле loop.php моей темы я вызываю <?php search_title_highlight(); ?> вместо <?php the_title(); ?> и использую <?php search_content_highlight(); ?> вместо<?php the_content(); ?>

Шаг 3: В моем css добавьте класс выделения поиска

Share
  1. я согласен с чипом, вам нужен трим ()

    я бы попробовал заменить:

    $keys = implode('|', explode(' ', get_search_query()));

    с участием

    $keys = implode('|', explode(' ', trim(get_search_query())));

    • 0

Оставить ответ

You must login to add an answer.