RAWURLENCODE и STRIP_SPECIAL_CHARS

Post Reply
dude21
Posts: 86
Joined: Tue Nov 12, 2013 6:13 pm

RAWURLENCODE и STRIP_SPECIAL_CHARS

Post by dude21 »

Добрый день.

Например есть такой ALT
gfdgfdh/ ljkljgh


После <!--STRIP_SPECIAL_CHARS_ALT--> получается
gfdgfdh ljkljgh
символ / удалился



А если сделать <!--RAWURLENCODE_STRIP_SPECIAL_CHARS_ALT--> то получается
gfdgfdh2F20ljkljgh


Хотя, как мне кажется, сначала должен срабатывать STRIP_SPECIAL_CHARS и убирать символ / затем должен сработать RAWURLENCODE и должно было получиться
gfdgfdh%20ljkljgh


Если поменять их местами <!--STRIP_SPECIAL_CHARS_RAWURLENCODE_ALT--> то также получается
gfdgfdh2F20ljkljgh
то есть в любом случае сначала срабатывает RAWURLENCODE и потом уже STRIP_SPECIAL_CHARS убирает из результата символ %


Как сделать чтобы ALT сначала обрабатывался STRIP_SPECIAL_CHARS а потом уже его результат обрабатывал RAWURLENCODE ?
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: RAWURLENCODE и STRIP_SPECIAL_CHARS

Post by admin »

мысль ясна, а в чем вообще суть операции? в каком месте надо так альт обрабатывать?
Don't forget to run script update
dude21
Posts: 86
Joined: Tue Nov 12, 2013 6:13 pm

Re: RAWURLENCODE и STRIP_SPECIAL_CHARS

Post by dude21 »

Чтобы ALT (и не только его, имена моделей, имя спонсора еще, например, если в них оказались спец символы) можно было подставлять в ссылку для поиска по сайту.
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: RAWURLENCODE и STRIP_SPECIAL_CHARS

Post by admin »

а зачем перед этим оттуда STRIP_SPECIAL_CHARS ?

вы ж понимаете если у вас услвно альт "asd/qwe" а вы сделаете поиск "asdqwe" то ее просто не найдет
Don't forget to run script update
dude21
Posts: 86
Joined: Tue Nov 12, 2013 6:13 pm

Re: RAWURLENCODE и STRIP_SPECIAL_CHARS

Post by dude21 »

Тоже верно. Хотя просто преобразование символа / в %2F почему-то ломает поиск.

Тогда возможно будет лучше оставить <!--RAWURLENCODE_ALT--> и добавить вот это (из вашего другого сообщения):
$_GET['search'] = str_replace(
array('*', '-', 'и далее такое перечисление всего того что вы считаете мусором'),
'', $_GET['search']);

только вместо / наверное нужно будет писать %2F, и замену делать на символ пробела %20. Получается так:
$_GET['search'] = str_replace('%2F', '%20', $_GET['search']);
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: RAWURLENCODE и STRIP_SPECIAL_CHARS

Post by admin »

а что значит ломает поиск?
Don't forget to run script update
dude21
Posts: 86
Joined: Tue Nov 12, 2013 6:13 pm

Re: RAWURLENCODE и STRIP_SPECIAL_CHARS

Post by dude21 »

Сбрасывает на 404 страницу сервера. Видимо какие-то проблемы в htaccess, буду смотреть.
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: RAWURLENCODE и STRIP_SPECIAL_CHARS

Post by admin »

а без реврайта?
Don't forget to run script update
dude21
Posts: 86
Joined: Tue Nov 12, 2013 6:13 pm

Re: RAWURLENCODE и STRIP_SPECIAL_CHARS

Post by dude21 »

Стандартные реврайты от smartcj на это не влияют. Так что дело не в смарте)
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: RAWURLENCODE и STRIP_SPECIAL_CHARS

Post by admin »

те реврайтов и с дефолтными работает
думаю тогда нет смысла искать решение в тагах, а стоит разобраться в своих реврайтах
Don't forget to run script update
Post Reply