Фильтровка запросов поиска на уровне common.php

SpyCam
Posts: 736
Joined: Fri Oct 26, 2012 9:52 am

Фильтровка запросов поиска на уровне common.php

Post by SpyCam »

Есть проблема когда используем расширенный сфинкс поиск, когда запросы поиска идут с апострофом или ковычками.
На уровне темплейтов, можно делать реплейс того или иного, но не обоих с разу.
Нужно как-то на уровне common.php или " или ' ескейпить, чтоб потом это не ломало бы страниц.

Как это сделать?
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Фильтровка запросов поиска на уровне common.php

Post by admin »

Почему нельзя и того и другого сразу ?
Don't forget to run script update
SpyCam
Posts: 736
Joined: Fri Oct 26, 2012 9:52 am

Re: Фильтровка запросов поиска на уровне common.php

Post by SpyCam »

Code: Select all

str_replace(array("'",'"'),array("'",'"'),'<!--SEARCH_QUERY-->'
Ну вот тут отрывок кода.

'<!--SEARCH_QUERY-->' - если тут апостров - триндец, страница сломанна
xawm
Posts: 542
Joined: Tue Dec 25, 2012 6:37 pm

Re: Фильтровка запросов поиска на уровне common.php

Post by xawm »

Попробуй поставить бэкслеш перед апострофом:

Code: Select all

str_replace(array("\'",'"'),array("'",'"'),'<!--SEARCH_QUERY-->'
SpyCam
Posts: 736
Joined: Fri Oct 26, 2012 9:52 am

Re: Фильтровка запросов поиска на уровне common.php

Post by SpyCam »

xawm wrote:Попробуй поставить бэкслеш перед апострофом:

Code: Select all

str_replace(array("\'",'"'),array("'",'"'),'<!--SEARCH_QUERY-->'
Проблема же не тут, а в '<!--SEARCH_QUERY-->', надо что в самом запросе был ескейп
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Фильтровка запросов поиска на уровне common.php

Post by admin »

в коммон можно делать указанный выше str_replace к $_GET['search']
Don't forget to run script update
SpyCam
Posts: 736
Joined: Fri Oct 26, 2012 9:52 am

Re: Фильтровка запросов поиска на уровне common.php

Post by SpyCam »

Code: Select all

<?php $search_query=str_replace(array("'",'"'),array("'",'"'),$_GET['search']);?>
Так пойдёт?
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Фильтровка запросов поиска на уровне common.php

Post by admin »

Если вы где-то используете $search_query - да

скрипт использует $_GET['search'] и соотв менять надо ее если надо что б оно к скрипту приходило в измененном виде.
Don't forget to run script update
SpyCam
Posts: 736
Joined: Fri Oct 26, 2012 9:52 am

Re: Фильтровка запросов поиска на уровне common.php

Post by SpyCam »

ОК, это работает как надо. Спасибо
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Фильтровка запросов поиска на уровне common.php

Post by admin »

Ok
Don't forget to run script update
Post Reply