Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Строка Google

304
15 сентября 2005 года
Fenyx
707 / / 26.01.2005
Кто знает как раскодировать строки запросов Google
например google.com.ua/search?hl=ru&q=Дизайн Рё планироР%B
2.2K
15 сентября 2005 года
BeOne
92 / / 15.12.2004
Цитата:
Originally posted by Fenyx
Кто знает как раскодировать строки запросов Google
например google.com.ua/search?hl=ru&q=Дизайн Рё планироР%B


Что значит раскодировать?

304
15 сентября 2005 года
Fenyx
707 / / 26.01.2005
Цитата:
Originally posted by BeOne
Что значит раскодировать?


Раскодировать значит перевести вот эту абракадабру в нормальный русский текст, при вводе руских букв в гугл, он передает в URL по другому какому-то принципу. Функция urldecode не работает.

304
15 сентября 2005 года
Fenyx
707 / / 26.01.2005
Точней не правильную строку дал, вот правильная

_http://www.google.com.ua/search?hl=ru&ie=windows-1251&q=%F4%EE%F0%F3%EC&meta=cr%3DcountryUA
2.2K
15 сентября 2005 года
BeOne
92 / / 15.12.2004
Цитата:
Originally posted by Fenyx
Точней не правильную строку дал, вот правильная

_http://www.google.com.ua/search?hl=ru&ie=windows-1251&q=%F4%EE%F0%F3%EC&meta=cr%3DcountryUA


Так это utf-8 вроде. Или еще какая фигня....ой тоесть это вообще-то аски коды, вроде....в общем, это не гугл, а браезер. А зачем тебе это раскодировать? Скрипты нормально понимают.

304
15 сентября 2005 года
Fenyx
707 / / 26.01.2005
Цитата:
Originally posted by BeOne
Так это utf-8 вроде. Или еще какая фигня....ой тоесть это вообще-то аски коды, вроде....в общем, это не гугл, а браезер. А зачем тебе это раскодировать? Скрипты нормально понимают.


Ты понимаешь что за зарос я ввел по стоке? А для рейтингов нужная инфа...

2.2K
15 сентября 2005 года
BeOne
92 / / 15.12.2004
Цитата:
Originally posted by Fenyx
Ты понимаешь что за зарос я ввел по стоке? А для рейтингов нужная инфа...


Не я, мне незачем. Скрипт понимает.

304
15 сентября 2005 года
Fenyx
707 / / 26.01.2005
Цитата:
Originally posted by BeOne
Не я, мне незачем. Скрипт понимает.


Допустим ты смотришь статистику сайта, а тебе выдаються строки на подобие этой, и пойми по какому запросу к тебе зашли, а скрипт то понимает :)

2.2K
15 сентября 2005 года
BeOne
92 / / 15.12.2004
Цитата:
Originally posted by Fenyx
Допустим ты смотришь статистику сайта, а тебе выдаються строки на подобие этой, и пойми по какому запросу к тебе зашли, а скрипт то понимает :)


Допустим, ты это про практику или про теорию?
Напиши $_GET['q'] и посмоти что php выдаст. Если ты смотришь логи каким-то логером, то выбрось его -- он плохой.

304
15 сентября 2005 года
Fenyx
707 / / 26.01.2005
Цитата:
Originally posted by BeOne
Допустим, ты это про практику или про теорию?
Напиши $_GET['q'] и посмоти что php выдаст. Если ты смотришь логи каким-то логером, то выбрось его -- он плохой.



При любом заходе с Гугля реферер приобретает вид типа _http://www.google.com.ua/search?hl=ru&inlang=ru&ie=windows-1251&q=%EA%E0%F2%E0%EB%EE%E3+%F1%E0%E9%F2%EE%E2&btnG=%CF%EE%E8%F1%EA&meta=_

по ним если распарсить строку ты понимаешь по какому запросу пришел человек, но Гугловская строка urldecode, не всегда корректно отображаеться, чаще пишет абракадабу по которой не возможно определить запрос...

2.2K
15 сентября 2005 года
BeOne
92 / / 15.12.2004
Цитата:
Originally posted by Fenyx
При любом заходе с Гугля реферер приобретает вид типа _http://www.google.com.ua/search?hl=ru&inlang=ru&ie=windows-1251&q=%EA%E0%F2%E0%EB%EE%E3+%F1%E0%E9%F2%EE%E2&btnG=%CF%EE%E8%F1%EA&meta=_

по ним если распарсить строку ты понимаешь по какому запросу пришел человек, но Гугловская строка urldecode, не всегда корректно отображаеться, чаще пишет абракадабу по которой не возможно определить запрос...


Вот хоть убей не понимаю сущность проблемы....

 
Код:
<?PHP
echo $_GET['q'];
?>

И задай ссылку вида ?q=%EA%E0%F2%E0%EB%EE%E3+%F1%E0%E9%F2%EE%E2
Причем здесь урлдекод?
304
15 сентября 2005 года
Fenyx
707 / / 26.01.2005
Цитата:
Originally posted by BeOne
Вот хоть убей не понимаю сущность проблемы....
 
Код:
<?PHP
echo $_GET['q'];
?>

И задай ссылку вида ?q=%EA%E0%F2%E0%EB%EE%E3+%F1%E0%E9%F2%EE%E2
Причем здесь урлдекод?


Смори у тя есть счетчик, который считает хито-хосты, + он записывает б БД рефереры за (допустим два дня), как ты покажешь пользователю или сам просмотришь по каким ключевым словам попадали на сайт?
И при чем здесь GET? я ж не на домене google сидю...

2.2K
15 сентября 2005 года
BeOne
92 / / 15.12.2004
Цитата:
Originally posted by Fenyx
Смори у тя есть счетчик, который считает хито-хосты, + он записывает б БД рефереры за (допустим два дня), как ты покажешь пользователю или сам просмотришь по каким ключевым словам попадали на сайт?
И при чем здесь GET? я ж не на домене google сидю...


Не на гугл, но parse_url и parse_str помогут.
// может у тебя какие-то спец настройки выставлены? У меня всё отлично работает.
// для справки -- это всеже аски коды.

304
15 сентября 2005 года
Fenyx
707 / / 26.01.2005
Цитата:
Originally posted by BeOne
Не на гугл, но parse_url и parse_str помогут.
// может у тебя какие-то спец настройки выставлены? У меня всё отлично работает.
// для справки -- это всеже аски коды.



Вот яркий пример
http://top.bigmir.net/stat/index.php?id=18315&curPART=16&p=4&d=2&y=0
видишь зяброкадабры? это енкодированные заросы гугля, все остальные яндекс и рамблер
далее
http://top.bigmir.net/stat/index.php?id=18315&curPART=12&p=4&d=0&y=0

посмотри где домен гугля, видишь... вот такой лажи мне незя допустить, а такое делает стандартная urlencode

2.2K
15 сентября 2005 года
BeOne
92 / / 15.12.2004
Цитата:
Originally posted by Fenyx
Вот яркий пример
http://top.bigmir.net/stat/index.php?id=18315&curPART=16&p=4&d=2&y=0
видишь зяброкадабры? это енкодированные заросы гугля, все остальные яндекс и рамблер
далее
http://top.bigmir.net/stat/index.php?id=18315&curPART=12&p=4&d=0&y=0

посмотри где домен гугля, видишь... вот такой лажи мне незя допустить, а такое делает стандартная urlencode


*Почесывая в затылке*

 
Код:
$arrUrl=parse_url($_SERVER['HTTP_REFERER']);
$arrQuery=parse_str($arrUrl['query']);

Потом компинуешь :)

Ну или попробуй rawurldecode.
А может с кодировками что-то не то?
304
15 сентября 2005 года
Fenyx
707 / / 26.01.2005
Цитата:
Originally posted by BeOne
*Почесывая в затылке*
 
Код:
$arrUrl=parse_url($_SERVER['HTTP_REFERER']);
$arrQuery=parse_str($arrUrl['query']);

Потом компинуешь :)

Ну или попробуй rawurldecode.
А может с кодировками что-то не то?


Да нет... кодировки здесь не при чем... Это стандарт работы со строками гугл...

2.2K
15 сентября 2005 года
BeOne
92 / / 15.12.2004
Цитата:
Originally posted by Fenyx
Да нет... кодировки здесь не при чем... Это стандарт работы со строками гугл...


Ладно, сдаюсь. Вспомню пас от мертвого сервака напишу код -- как я это делал.

10
16 сентября 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by BeOne
Ладно, сдаюсь. Вспомню пас от мертвого сервака напишу код -- как я это делал.


Умники! Это самый обычный UTF-8. Переключите кодировку в браузере и увидите, мать-перемать!

304
16 сентября 2005 года
Fenyx
707 / / 26.01.2005
Цитата:
Originally posted by Freeman
Умники! Это самый обычный UTF-8. Переключите кодировку в браузере и увидите, мать-перемать!


А как перевести с UTF-8 в win-1251?

299
16 сентября 2005 года
3D Bob
885 / / 18.04.2005
Цитата:
Originally posted by Fenyx
А как перевести с UTF-8 в win-1251?


Попробовать использовать ф-ции перевода из юникода в АнСи

11K
16 сентября 2005 года
DenV
5 / / 17.05.2005
Цитата:
Originally posted by Fenyx
А как перевести с UTF-8 в win-1251?


# твоя строка
$string=q(http://www.google.com.ua/search?hl=ru&inlang=ru&ie=windows-1251&q=%EA%E0%F2%E0%EB%EE%E3+%F1%E0%E9%F2%EE%E2&btnG=%CF%EE%E8%F1%EA&meta=_);

@pairs=split/&/,$string;

for (@pairs) {
tr/+/ /;
($name, $value) = split(/=/);
$name =~ s/%([a-fA-F0-9]{2})/pack("C",hex($1))/eg;
$value =~ s/%([a-fA-F0-9]{2})/pack("C",hex($1))/eg;

if ($form{$name}) { $form{$name} .= ",$value"; }
else { $form{$name} = $value; }
}

for(sort keys %form){

print "$_ = $form{$_}\n";

}
--------------------
вывод:
btnG = Поиск
http://www.google.com.ua/search?hl = ru
ie = windows-1251
inlang = ru
meta = _
q = каталог сайтов

299
16 сентября 2005 года
3D Bob
885 / / 18.04.2005
Ага, а теперь расскажи им как это сделать на пхп а не перле)
11K
16 сентября 2005 года
DenV
5 / / 17.05.2005
Цитата:
Originally posted by 3D Bob
Ага, а теперь расскажи им как это сделать на пхп а не перле)


Да, надо поправиться - это дело не имеет отношения не к утф, сипи1251 - это обычное декодирование данных формы.
Соответственно, если в твоем случае в строке присутствует адрес - то его надо предварительно обрезать:
$string=~s/^.*?\?//;
По поводу пхп не скажу, - общий принцип: пары имя/значение разбиты амперсандами (&), имя от значения отделяется знаком равно (=), символы старше 127 кодируются как %HH, где HH хекс код символа.
Вроде так, а вообще в пхп для этого дожны буть готовые ф-ии

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог