Page 1 of 3
Фильтровка запросов поиска на уровне common.php
Posted: Tue Dec 03, 2013 11:46 am
by SpyCam
Есть проблема когда используем расширенный сфинкс поиск, когда запросы поиска идут с апострофом или ковычками.
На уровне темплейтов, можно делать реплейс того или иного, но не обоих с разу.
Нужно как-то на уровне common.php или " или ' ескейпить, чтоб потом это не ломало бы страниц.
Как это сделать?
Re: Фильтровка запросов поиска на уровне common.php
Posted: Tue Dec 03, 2013 12:29 pm
by admin
Почему нельзя и того и другого сразу ?
Re: Фильтровка запросов поиска на уровне common.php
Posted: Tue Dec 03, 2013 12:57 pm
by SpyCam
Code: Select all
str_replace(array("'",'"'),array("'",'"'),'<!--SEARCH_QUERY-->'
Ну вот тут отрывок кода.
'<!--SEARCH_QUERY-->' - если тут апостров - триндец, страница сломанна
Re: Фильтровка запросов поиска на уровне common.php
Posted: Tue Dec 03, 2013 1:02 pm
by xawm
Попробуй поставить бэкслеш перед апострофом:
Code: Select all
str_replace(array("\'",'"'),array("'",'"'),'<!--SEARCH_QUERY-->'
Re: Фильтровка запросов поиска на уровне common.php
Posted: Tue Dec 03, 2013 1:53 pm
by SpyCam
xawm wrote:Попробуй поставить бэкслеш перед апострофом:
Code: Select all
str_replace(array("\'",'"'),array("'",'"'),'<!--SEARCH_QUERY-->'
Проблема же не тут, а в '<!--SEARCH_QUERY-->', надо что в самом запросе был ескейп
Re: Фильтровка запросов поиска на уровне common.php
Posted: Tue Dec 03, 2013 5:05 pm
by admin
в коммон можно делать указанный выше str_replace к $_GET['search']
Re: Фильтровка запросов поиска на уровне common.php
Posted: Tue Dec 03, 2013 5:16 pm
by SpyCam
Code: Select all
<?php $search_query=str_replace(array("'",'"'),array("'",'"'),$_GET['search']);?>
Так пойдёт?
Re: Фильтровка запросов поиска на уровне common.php
Posted: Wed Dec 04, 2013 3:09 am
by admin
Если вы где-то используете $search_query - да
скрипт использует $_GET['search'] и соотв менять надо ее если надо что б оно к скрипту приходило в измененном виде.
Re: Фильтровка запросов поиска на уровне common.php
Posted: Wed Dec 04, 2013 7:25 am
by SpyCam
ОК, это работает как надо. Спасибо
Re: Фильтровка запросов поиска на уровне common.php
Posted: Wed Dec 04, 2013 12:30 pm
by admin
Ok