Вывод ссылок в виде контекстной рекламы!
Дурная голова рукам покоя не дает :)
Сегодня будем маскировать сапоссылки под блок контекстных объявлений по типу Бегуна.
Все помним код непосредственного вывода ссылок? Напомню:
PHP код:
echo $sape->return_links;
Итак, вспоминаем, куда это писали писали (в шаблон сайта, скорее всего), находим и заменяем на следующий код:
PHP код:
$sape_block = ''; for($i=0; $i<count($sape->_links_page); $i++){ $sape_text = $sape->return_links(1); $sape_link = preg_replace('~.*<a[^>]+href="http://([^/\s"]+)[^\s"]*"[^>]*>.*~si', '$1', $sape_text); $sape_block.= '<tr valign="top"><td width="202" style="border:#cccccc solid 2px; padding:2px; margin:1px"><img src="http://images.websnapr.com/?url='.$sape_link .'" width="202" height="152" alt="Изображение '.$sape_link .'" align="left" /><span style="text-transform:capitalize">'.$sape_text.'</span></td></tr>'; } if($sape_block!='') print '<table>'.$sape_block.'</table>'; else print $sape->return_links();
Объясняю популярно, что здесь есть.
- Создается переменная $sape_block и сразу обнуляется (а вдруг таковая уже существует?).
- Запускается циклический перебор ссылок, доступных к выводу (их число count($sape->_links_page)).
- В каждом шаге (итерации) цикла к тексту внутри переменной $sape_block добавляется интересный html-код, содержащий строку таблицы, в которой имеется, кроме самой ссылки и околоссылочного текста, картинка - скриншот сайта-акцептора :). В этом-то и вся изюминка! Сервис скриншотов бесплатный. При первой генерации мини-скриншота нам показывают временную картинку-заглушку, а через несколько секунд доступна уже готовая картинка. Она сохраняется на их сервере надолго.
- После окончания цикла скрипт проверяет, заполнена ли переменная $sape_block текстом. Если заполнена, то выводится целая табличка, если нет, то ничего не выводится? кроме заглушки для робота сапы (вот здесь могут возникнуть проблемы при добавлении площадки. Добровальцы - в личку!). С уже рабочей площадкой проблем 100% не будет.
С настройкой дизайна, я думаю, разберетесь. Я привел код вертикального блока. Для горизонтального меняем
PHP код:
$sape_block = ''; for($i=0; $i<count($sape->_links_page); $i++){ $sape_text = $sape->return_links(1); $sape_link = preg_replace('~.*<a[^>]+href="http://([^/\s"]+)[^\s"]*"[^>]*>.*~si', '$1', $sape_text); $sape_block.= '<tr valign="top"><td width="202" style="border:#cccccc solid 2px; padding:2px; margin:1px"><img src="http://images.websnapr.com/?url='.$sape_link .'" width="202" height="152" alt="Изображение '.$sape_link .'" align="left" /><span style="text-transform:capitalize">'.$sape_text.'</span></td></tr>'; } if($sape_block!='') print '<table>'.$sape_block.'</table>'; else print $sape->return_links();
на
PHP код:
$sape_block = ''; for($i=0; $i<count($sape->_links_page); $i++){ $sape_text = $sape->return_links(1); $sape_link = preg_replace('~.*<a[^>]+href="http://([^/\s"]+)[^\s"]*"[^>]*>.*~si', '$1', $sape_text); $sape_block.= '<td width="202" style="border:#cccccc solid 2px; padding:2px; margin:1px"><img src="http://images.websnapr.com/?url='.$sape_link .'" width="202" height="152" alt="Изображение '.$sape_link .'" align="left" /><span style="text-transform:capitalize">'.$sape_text.'</span></td>'; } if($sape_block!='') print '<table><tr valign="top">'.$sape_block.'</tr></table>'; else print $sape->return_links();
Добавлено через 1 минуту
Цитата:
Сообщение от Ufaweb
(Сообщение 300773)
__________________
|
Примерчики:
http://asus-book.ru/ (слева)
http://neo-book.ru/ (справа)
Размер изображения меняем в коде вывода.
Добавлено через 3 минуты
Полезный бонус: текст ссылки ВСЕГДА будет написан с большой буквы. CSS в помощь :)
|