Как преобразовать поисковый запрос в escape-последовательность?

lachty
На сайте с 22.08.2006
Offline
41
2074

Подскажите пожалуйста, как преобразовать поисковый запрос в escape-последовательность для отображения поисковой рекламы (код директа)?

Доска объявлений (http://www.zavedi-druga.ru/) о животных Заведи Друга
[Удален]
#1
lachty
На сайте с 22.08.2006
Offline
41
#2

В коде вместо фразы "поисковый_запрос" вставила $form:find, на что мне ответили:

- Поисковый запрос не преобразован в escape-последовательность. Для корректной обработки запроса строка ключевых слов ОБЯЗАТЕЛЬНО должна быть преобразована в escape-последовательность. В противном случае рекламный блок не будет показываться по части запросов (например, по запросам из нескольких слов) , статистика может считаться не корректно. Пример, вы нам передаете &text=тестовый запрос, должно быть &text=%F2%E5%F1%F2%EE%E2%FB%E9+%E7%E0%EF%F0%EE%F1

Объясните пожалуйста дуре, что нужно ещё сделать?

<script type="text/javascript"><!--

// Размер шрифтов

var yandex_ad_fontSize = 1;

// Настройки объявлений Директа

var yandex_direct_fontColor = '000000';

var yandex_direct_BorderColor = 'FBE5C0';

var yandex_direct_BgColor = 'FFF9F0';

var yandex_direct_headerBgColor = 'FEEAC7';

var yandex_direct_titleColor = '0000CC';

var yandex_direct_siteurlColor = '006600';

var yandex_direct_linkColor = '0000CC';

function yandex_direct_print(){ }

var yandex_r = Math.round(Math.random() * 100000);

document.write('<sc'+'ript type="text/javascript" src="http://an.yandex.ru/code/77333?rnd=' + yandex_r + '&text=поисковый_запрос&page-no=номер_страницы&charset=windows-1251"></'+'sc'+'ript>');

//--></script>

<!-- Яндекс.Директ должен быть размещен на первом экране страницы с результатами поиска -->

<script type="text/javascript">yandex_direct_print()</script>

vadts
На сайте с 08.03.2008
Offline
153
#3

http://help.yandex.ru/partner/?id=1019904

Передаваемый Яндексу поисковый запрос для корректной обработки должен быть обязательно преобразован в escape-последовательность. Escape-последовательность – это специальным образом закодированная последовательность текстовых символов. Например, escape-последовательность для ключевого слова «слон» будет выглядеть следующим образом: %F1%EB%EE%ED.

Оператор кодирования в escape-последовательность есть во многих языках программирования. Ниже приведены примеры преобразования запросов в escape-последовательность для языков PHP, Perl и javascript.

PHP

$phrase = "слон";

$phrase = urlencode($phrase);

Perl

use URI::Escape;

my $phrase = "слон";

$phrase = uri_escape($phrase);

Javascript

var query = 'слон';

query = encodeURIComponent(query);

Пожалуйста, не используйте оператор escape языка javascript, к сожалению, эта конструкция в коде вызова рекламных блоков не работает.

fura.pro, gruzovik.pro, rezume.pro, rezina.pro, prognoz.pro, referat.pro, voditel.pro, zdanie.pro (mailto:vadim@svitonline.com?subject=.pro)
lachty
На сайте с 22.08.2006
Offline
41
#4

vadts написала в личку

[Удален]
#5
lachty:
...
document.write('<sc'+'ript type="text/javascript" src="http://an.yandex.ru/code/77333?rnd=' + yandex_r + '&text=поисковый_запрос&page-no=номер_страницы&charset=windows-1251"></'+'sc'+'ript>');
...

должно быть что-то типа этого (вариант PHP)

document.write('<sc'+'ript type="text/javascript" src="http://an.yandex.ru/code/77333?rnd=' + yandex_r + '&text=<?php echo urlencode($_GET['text']); ?>&page-no=1&charset=windows-1251"></'+'sc'+'ript>');

lachty
На сайте с 22.08.2006
Offline
41
#6

Сейчас попробую, но кажется мне нужен не PHP....

lachty добавил 29.10.2011 в 00:52

Поставила, теперь код на странице не показывается совсем(

lachty добавил 29.10.2011 в 00:57

vadts, не работает, PHP не Perl неподходят, или я все неправильно делаю(

vadts
На сайте с 08.03.2008
Offline
153
#7
lachty:
Сейчас попробую, но кажется мне нужен не PHP....

lachty добавил 29.10.2011 в 00:52
Поставила, теперь код на странице не показывается совсем(

lachty добавил 29.10.2011 в 00:57
vadts, не работает, PHP не Perl неподходят, или я все неправильно делаю(

Надо смотреть где текст запроса подставляется в код для показа рекламы, там и преобразовывать.

Это происходит скорее всего на сервере, и скорее всего на php.

lachty
На сайте с 22.08.2006
Offline
41
#8

Вообще, сам сайт, написан на парсере

vadts
На сайте с 08.03.2008
Offline
153
#9
lachty:
Вообще, сам сайт, написан на парсере

Ответил в личку.

lachty
На сайте с 22.08.2006
Offline
41
#10

vadts, большооое спасибо за помощь!!!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий