[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Изменить букву на другую в запросе
walterb
Здравствуйте!

Есть wordpress. Там стандартный поиск. Но нужно немного изменить его алгоритм, чтобы он заменял в тексте запроса одну букву на другую. Но не все подряд а определенную на определенную. Например, ввели запрос "машина", но искать он должен по запросу "мОшинО". И как-нибудь так это делать, чтобы лишней нагрузки не было...

Подскажите, пожалуйста, где копать? sad.gif



Спустя 51 минута, 28 секунд (13.12.2010 - 10:00) walterb написал(а):
Точнее не так выразился - как заменить я знаю, что-то вроде такого:
$queryString=str_replace (array('а', 'А'),'б',$queryString);


Не знаю куда в wordpress это заснуть, чтобы работало... :(

Спустя 2 часа, 57 минут, 54 секунды (13.12.2010 - 12:58) walterb написал(а):
Ну помогите, пожалуйста, кто-нибудь...

Сама форма поиска отправляет значение s.

Если вставляю на страницу с результатами $s=str_replace (array('а', 'А'),'б',$s); толку никакого...

Спустя 14 минут, 21 секунда (13.12.2010 - 13:12) kovaldm написал(а):
Я вобще не понял что нужно.

Спустя 15 минут, 23 секунды (13.12.2010 - 13:27) walterb написал(а):
Цитата
Я вобще не понял что нужно.


В Wordpress есть форма поиска. Например, такая:

<form method="get" name="searchform" id="searchform" action="<?php bloginfo('siteurl')?>">
<input
type="text" name="s" id="s" class=srch_query value="<?php echo wp_specialchars($s, 1); ?>"/>
<input
id="btnSearch" type="submit" name="submit" value="<?php _e('Найти'); ?>" />
</form>



То что мы ищем отправляется в элемент name="s".

Мне нужно добавить сюда нечто вроде регулярки, чтобы все буквы "а" в запросе менялись на "о" и поиск производился по новому запросу.

То есть я ввожу "абаж", а искать он должен "обож"...

По идее вот это должно работать
$s=str_replace (array('а', 'А'),'о',$s);


Не знаю куда именно добавить...

Спустя 2 минуты, 40 секунд (13.12.2010 - 13:30) kovaldm написал(а):
Если там UTF-8, то str_replace сработает некорректно.
Добавить функцию нужно туда где принимаются/обрабатываются данные из формы.

Спустя 2 минуты, 2 секунды (13.12.2010 - 13:32) walterb написал(а):
Цитата (kovaldm @ 13.12.2010 - 10:30)
Если там UTF-8, то str_replace сработает некорректно.
Добавить функцию нужно туда где принимаются/обрабатываются данные из формы.

Хм... Ну это ладно, можно и preg_replace использовать тогда...

Я не могу разобраться, куда именно ее вставлять... Весь двиг перекопал и не нашел... Вот и прошу помочь...

Спустя 2 минуты, 38 секунд (13.12.2010 - 13:35) kovaldm написал(а):
Где-то должно быть. Ищи тупым поиском в тексте $_GET['s'] или $_POST['s'].

Спустя 8 минут, 35 секунд (13.12.2010 - 13:43) walterb написал(а):
Цитата (kovaldm @ 13.12.2010 - 10:35)
Где-то должно быть. Ищи тупым поиском в тексте $_GET['s'] или $_POST['s'].

Да в том-то и проблема - искал тупым поиском и не нашел ни GET, ни POST...
Мистика...

----

Для UTF-8 думаю так подойдет:

$bukva = array ("'о'i", "'О'i");
$drbukva = array ( "a");
$s = preg_replace ($bukva, $drbukva, $s);

Спустя 1 час, 6 минут, 20 секунд (13.12.2010 - 14:50) walterb написал(а):
Предлагаю сто рублей на чай с печеньками тому, кто поможет... smile.gif

Спустя 1 час, 8 минут, 46 секунд (13.12.2010 - 15:58) walterb написал(а):
Господи, уже не важно за сколько, лишь бы кто помог... sad.gif

Спустя 3 часа, 26 минут, 18 секунд (13.12.2010 - 19:25) kovaldm написал(а):
Какая версия движка? Срочно надо?

Спустя 1 час, 4 минуты, 33 секунды (13.12.2010 - 20:29) walterb написал(а):
Цитата (kovaldm @ 13.12.2010 - 16:25)
Какая версия движка? Срочно надо?

Двиг 3.0.
Желательно конечно сегодня, но не критично...

Спустя 13 минут, 24 секунды (13.12.2010 - 20:43) Doszhan написал(а):
Форма поиска WP базируется на get_search_form()

http://wordpress.org/support/topic/edit-th..._search_form-gt

get_search_form() is located in wp-includes/general-template.php

Строка 115 biggrin.gif

Спустя 43 минуты, 43 секунды (13.12.2010 - 21:26) walterb написал(а):
Отбой - на фрилансе за денюжку все сделали smile.gif

Спустя 3 минуты, 12 секунд (13.12.2010 - 21:30) Doszhan написал(а):
Где и что они правили? general-template.php?

Интересно ведь

Спустя 2 часа, 23 минуты, 7 секунд (13.12.2010 - 23:53) kovaldm написал(а):
Мне тоже интересно. Я так и не разобрался, правда не стал копать глубоко.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.