Создаем счетчик-картинку, показывающий беки на сайт. Часть 2. » lamara-nsk.ru


lamara-nsk.ru
Это блог о сео, деньгах, заработке в сети, разработке своих проектов, программировании
и "жизни программиста", бизнесе, блогосфере, фрилансе и многом другом.


Контакты, Реклама в блоге




Создаем счетчик-картинку, показывающий беки на сайт. Часть 2.

Автор DimoninG, написано 20.10.2008
Рубрика Разное  

Первую часть Вы можете прочитать здесь.

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

Теперь нужно написать скрипт, позволяющий получить это число. Я буду использовать Yahoo для определения количества обратных ссылок. Вы можете изменить скрипт на Ваше усмотрения для работы с другим сервисом.

Nokia правильно привел комментарий к моей прошлой статье. Для определения количества беков достаточно пройти по этому адресу и посмотреть число в скобках напротив Inlinks. То есть его-то мы и должны получить.

Сейчас будет граббер.

Чтобы получить число, нужно вытащить код страницы и с помощью регулярных выражений найти нужную информацию. Для получения кода страницы я буду использовать обычную работу с файлами (любители curl – не гневайтесь, сейчас ситуация тривиальная и ничего «ацкого» не нужно).

Код простой, как колбаса:


$data = "";
$file = fopen ("http://siteexplorer.search.yahoo.com/search?
p=http%3A%2F%2Flamara-nsk.ru&y=Explore+URL&fr=sfp", "r");
while (!feof ($file)){
	$data .= fread ($file, 255);
}
fclose ($file);

echo htmlspecialchars ($data);

Соответственно, работает так. В $data мы запишем исходник страницы (обнуляем ее на всякий случай). Открываем адрес, как обычный файл (для чтения). Читаем все из «файла» в цикле и закрываем файл. Потом я вывел все для наглядности. Сделаю замечание: не все хостеры позволяют делать такие вещи (открывать адрес, как файл), хотя на всех хостингах, где я хостился такая возможность была.

Так, теперь нам нужно выдрать нужный нам кусок. Регулярное выражение тоже очень простое. Тут вообще ничего сложного похоже нет :( Код простой как жареная курица с сыром:


preg_match ("/Inlinks (.*)/", $data, $match);
$count = strip_tags(str_replace ("(", "", str_replace (")", "", $match[1])));
echo $count;

Регулярное выражение выдирает нам значение (2,208). Оно аж запятой уже разделено, но нужно удалить кавычки. Запомните, начинающие программисты! Важно как можно больше извращаться в коде! И вот яркий пример – удалить кавычки удалось самым извращенным способом. Соответственно, «голое» число ссылок записано в переменную $count, которую нужно передать счетчику.

Для передачи числа счетчику можно прямо в адресе изображения для тега <img> дописать как обычный GET-запрос: img.php?id=… Так и сделаем. Приведу сразу полный кусок кода.

Код простой, как салат с сухарями… Похоже, пора обедать уже.


<!-- Вызываем счетчик немного другим способом, с передачей параметра: -->
 <img src="./counter.php?count=<?php echo $count; ?>">

/* В самом скрипте, рисующим счетчик кое-что исправляем: */
$number = $_GET['count'];

Готово. Да, есть некоторый косяк с регуляркой – кроме скобок оно цепляет еще и теги, которые мы вырезаем с помощью strip_tags. Почему так – попробуйте разобраться самостоятельно в качестве упражнения. Вот хорошие материалы по регулярным выражениям: часть 1, часть 2. [кажись отмазался =)]

UPD: Вышло у меня вот так:

Скачать исходник в моем исполнении.



Отзывов (4) на «Создаем счетчик-картинку, показывающий беки на сайт. Часть 2.»


ae471697

    пишет:

    Уважаемый DimoninG, сегодня я честен как никогда :grin:
    Лень собирать код, но кнопочку хочу, где скачать готовый результат? :mrgreen:


    пишет:

    Defs, я уж думал вообще никому это не надо :grin:
    В статье (снизу) появилась ссылка на скачку исходника ;)


    пишет:

    ой, мне очень надо. а как все это дело теперь вставить в шаблон?


    пишет:

    Спасибо за кнопку


Оставьте свой комментарий

Что здесь почитать?



1.   Разработки.
1.1 Плагин "Я не робот"
1.2 Плагин "Код Adsense прямо в пост"

2.   Заработай.
2.1 Блогун: 20$ в день
2.2 Уходим от налогов в Sape
2.3 Хватит думать, пора зарабатывать

3.   Акции и конкурсы.
3.1 Ссылка за "Рабочий стол"

Показать весь список.

-->







Блог на движке WordPress и тема для него создана DimoninG'ом в 2007 году.
Все материалы авторские, их копирование запрещено законом об авторском праве.