Еженедельник Свет в Интернет

Главная

Новости

Статьи и обзоры
  Горожанин
  Обнинск в Internet
  Web Design
  Hardware
  Software
  Безопасность
  Серфинг
  Игродром
  Relax
  Технологии
  Web-обзор
  Интернет-ликбез
  Опросник
  УП-Технологии
  ART.net

Ссылки

Архив

О нас

Контакты

Форумы


Основатель:
К.Николаенко

Главный Редактор:
С.Коротков

Web Design:
Neutron


Наш спонсор






Порт POPULAR.RU
POPULAR.RU RegionalBanner Network.






Океан


НПП Метра - промышленные электронные автомобильные вагонные весы
Goldy Interior - салон офисной мебели: кабинеты руководителей, мебель для персонала

= Web-Дизайн =

 

С МИРУ ПО НИТКЕ!

Матвей Хорошилов lightnet@obninsk.ru
взято с www.iworld.ru

продолжение: начало в #13(125), #14(126), #15(127)

Теперь приступим к написанию программы. Как и раньше, сначала следует определить используемые переменные:

<?
// адрес страницы
$adr='http://www.gazeta.ru/sport/index.shtml';
// признак начала блока
$begblock='НОВОСТИ СПОРТА</span>';
// признак конца блока
$endblock='<!-SNEWS->'
// цвет рамки таблицы курса (белый)
$brdcolor='#ffffff;
// цвет фона ячеек таблицы курса
$bgcolor='#eeeeee';
$screen=file($adr);
// перебираем все строки страницы
for ($i = 0; $i < sizeof($screen); $i++) {
  if (strpos($screen[$i], $begblock) !=false){
   $numbegin = $i=1;
  }
  if (strpos($screen[$i], $endblock) !=false) {
    $numend = $i-1;
  }
}
// в переменных $numbegin и $numend теперь содержатся
// номера строк, соответствующие началу и концу
// новостного блока
Теперь необходимо перебрать интересующий нас блок строк на предмет наличия фрагментов, указанных в листинге 3 (см.#15(127), и замены их соответствующими аналогами. Для удобства дальнейшей работы эти фрагменты следует записать в массивы равного размера в строгом порядке соответствия:

$old = array('<img scr=?i?t.gif width=1 height=3><br>',
'</td></tr></table>',
'<table width=234 cellspacing=0 cellpadding=6'.
'border=0 bgcolor=#CCCCCC>',
'<tr><td>','"><span class=h17bFF>',
'</span><br>','<span class=h12>',
'</span></a><br>',
'<img src=/i/w.gif width=234 height=3><br>');

$new = array('',
'',
'',
'',
'" target = "_blank"><span class="style">',
'&nbsp;',
'',
'</span></a>',
'');

$kolstr = sizeof($old); //количество фраз в массивах
Теперь заменяем в блоке новостей строки согласно подготовленному нами списку:
for ($i = $numbegin; $i<=numend; $i++){
  for ($j = 0; $j < $kolstr; $j++){
   // функцией str_replace
   // производится замена
   // фразы в строке на другую:
   $screen[$i] = str_replace($old[$j],
               $new[$j], $screen[$j]);
  }
  $result[] = $screen[$i];
}
После выполнения этих циклов в переменной result окажется обработанная лента новостей с новым дизайном. Осталось вывести на экран:

for ($i = 0; $i<sizeof($result); $i++) {
}
?>

Можно сделать еще один шаг и опубликовать на сайте не только заголовки новостей со ссылками на внешние источники, но и непосредственно их тексты. Для этого ссылки на поставщиков контента должны быть заменены обращениями к скрипту, который будет аналогичным образом импортировать содержание новостей. Таким образом можно создать собственный информационный портал, на котором сведения будут собираться из разных источников так, что посетители не будут даже догадываться об этом.
Но не следует забывать, что при использовании любых сведений из внешних источников нужно обращать особое внимание на соблюдение авторских прав. Как правило, большинство поставщиков контента регламентируют использование опубликованной у них информации. Кроме того, некоторые из них (например, та же "Газета.Ру") позволяет импортировать свои ленты новостей безо всякого программирования, хотя и с меньшими возможностями изменять их внешний вид. В любом случае, перед тем как использовать чужой контент, не помешает согласовать условия публикации непосредственно с владельцами ресурса.

Полезные ссылки:

www.php.net - официальный сайт РНР;
www.phpclub.net - клуб РНР-разработчиков (на русском языке);
www.webclub.ru/content/programming_php - раздел о программировании на РНР в библиотке "Веб-клуба";
www.citforum.ru/internet/php.shtml - раздел о программировании на РНР на "СИТфоруме";
detail.phpclub.net - РНР в деталях.

Copyright © Свет в Internet   Designed by Свет в Internet