Все записи в рубрике PHP

Обновления SeoClass

Всем привет!

Уже есть первые отзывы и первые найденные баги в SeoClass. Думал класс не интересен людям, оказалось глючная рекапча не давала комментировать запись, за что и была удалена.  Но это не помешало Eles`у связаться со мной по почте.  Вопрос касался функции yandex_index, которая возвращала всегда 302. Дело в том что функция написана так, что берет числовое значение из тайтла выдачи яндекса с параметром в запросе “находятся на сайте:”, например - функция вернет 14 000 000. Случай с 302  означает, что Яндекс вернул страничку с  302-м заголовком, причина этого чаще всего страничка “Я не робот” вызванная сами знаете чем. Вообще 302 означает, что документ  временно перемещен. В данном случае перемещен до подтверждения Вашей принадлежности к человеческому роду посредством капчи.  Я могу лишь гадать почему у Eles так получается. Вчера тестировал функцию, делал по 15 запросов разом со своего IP, но так и не получил 302-ого заголовка. Буду думать дальше.

Товарищ Spryt, который уже совсем близко ко мне подобрался, нашел еще одну багу.   Функция yandex_serp не правильно парсила длинные урлы в результатах выдачи. Я применял алгоритм функции при определении позиции сайтов. Особо длинных урлов у меня не было, может быть поэтому данную багу я и не замечал. Исправил.  Спасибо, Spryt! (ну S p r y t, ну и ник, я два раза Spyrt написал…  давно не пил, может поэтому?)

Ввел подобие версий класса. Каждая новая версия будет с суффиксом, который будет формата год.месяц.день релиза. Т.е. сегодняшняя  версия seoclass_9.7.24.zip.

Есть думы насчет организации отдельного сайта для класса. Пока оставлю как есть. Есть пожелания? Вперед комментировать!

P.S. Сегодня утром произошел несчастный случай с двумя новыми комментариями. Из-за сонности и потери внимания одного блоггера (не буду тыкать пальцем в себя) совершенно случайно удалилось два комментария.  Как сейчас помню к записям SeoClass.php и Генератор контента - Datapresser.com!. Если Вы сегодня в районе 10-ти утра по Мск. комментировали эти записи и Ваши комментарии не появились на сайте, просьба вернутся и повторить свои комментарии. Простите сонного блоггера, если сможете?

SeoClass.php

За долгий опыт работы в сети накопилось несколько проверенных временем PHP функций для определения параметров сайтов и парсинга серпов. Вчера решил объединить всех в один php класс. Название пришло само сабой - SeoClass.php.

В классе всего 6 функций.  Есть на подходе еще штуки 4, но пока в них не уверен.

Если у Вас завалялись подобные скрипты присылайте мне, добавлю  в класс со ссылкой на Автора.

Если Вы нашли ошибку или заметили неточности в работе класса, пишите. В исправлениях тоже будут ссылки на нашедшего баг.

Если будет достаточное количество отзывов и добавлений в класс, зарегистрирую домен под него.

P.S. За документацию сильно не пинайте писал под утро (приветствуется тыканье меня носом в ошибки документации) . Пока выложил на народе. Дальнейшее развитие класса будет зависеть от реакции сообщества.

MC #2. Альтернативный синтаксис в PHP

Вместо <? echo $text;?> используйте <?=$text?>.


17 июля 2009

Использование Google Translate API в PHP

Автор блога gritsinger.com, Валентин, выложил к всеобщей радости простую функцию для работы с Google Translate API в PHP.

Но мне его вариант не подошел, так как работает через GET запрос к Translate API. Т.е. GET накладывает ограничения на длину переводимого текста. Немного напильника и функция работает через POST запрос:

<? function translate($s_text, $s_lang, $d_lang){
$post_data['q']=$s_text;
$post_data['langpair']=$s_lang.‘|’.$d_lang;
$query=http_build_query($post_data);
$url = “http://ajax.googleapis.com/ajax/services/language/translate?v=1.0″;
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_POST, 0);
curl_setopt($c, CURLOPT_POSTFIELDS, $query);
$b = curl_exec($c);
curl_close($c);
$json = json_decode($b, true);
if ($json['responseStatus'] != 200)return false;
return $json['responseData']['translatedText'];
}

Пользуйтесь =)