Есть проблема когда используем расширенный сфинкс поиск, когда запросы поиска идут с апострофом или ковычками.
На уровне темплейтов, можно делать реплейс того или иного, но не обоих с разу.
Нужно как-то на уровне common.php или " или ' ескейпить, чтоб потом это не ломало бы страниц.
Как это сделать?
Фильтровка запросов поиска на уровне common.php
Re: Фильтровка запросов поиска на уровне common.php
Почему нельзя и того и другого сразу ?
Don't forget to run script update
Re: Фильтровка запросов поиска на уровне common.php
Code: Select all
str_replace(array("'",'"'),array("'",'"'),'<!--SEARCH_QUERY-->''<!--SEARCH_QUERY-->' - если тут апостров - триндец, страница сломанна
Re: Фильтровка запросов поиска на уровне common.php
Попробуй поставить бэкслеш перед апострофом:
Code: Select all
str_replace(array("\'",'"'),array("'",'"'),'<!--SEARCH_QUERY-->'
Re: Фильтровка запросов поиска на уровне common.php
Проблема же не тут, а в '<!--SEARCH_QUERY-->', надо что в самом запросе был ескейпxawm wrote:Попробуй поставить бэкслеш перед апострофом:Code: Select all
str_replace(array("\'",'"'),array("'",'"'),'<!--SEARCH_QUERY-->'
Re: Фильтровка запросов поиска на уровне common.php
в коммон можно делать указанный выше str_replace к $_GET['search']
Don't forget to run script update
Re: Фильтровка запросов поиска на уровне common.php
Code: Select all
<?php $search_query=str_replace(array("'",'"'),array("'",'"'),$_GET['search']);?>Re: Фильтровка запросов поиска на уровне common.php
Если вы где-то используете $search_query - да
скрипт использует $_GET['search'] и соотв менять надо ее если надо что б оно к скрипту приходило в измененном виде.
скрипт использует $_GET['search'] и соотв менять надо ее если надо что б оно к скрипту приходило в измененном виде.
Don't forget to run script update
Re: Фильтровка запросов поиска на уровне common.php
ОК, это работает как надо. Спасибо







