|
|
|
| Подскажите как можно считать определенную информацию с другого сайта?
Нашел пример как вытащить новости, но как некрутил, он так и не заработал.
<?
// адрес страницы
$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 теперь содержатся
// номера строк, соответствующие началу и концу
// новостного блока
$old = array(’<img src=/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">’,
’ ’,
’’,
’</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[$i]);
}
$result[] = $screen[$i];
}
for ($i = 0; $i<sizeof($result); $i++) {
echo "$result[$i]<br>\n";
}
?>
|
Если дописать в
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;
}
}
|
условие ложности
for ($i = 0; $i < sizeof($screen); $i++) {
if (strpos($screen[$i],$begblock) != false) {
$numbegin = $i+1;
}
else { echo "error_1"; }
if (strpos($screen[$i],$endblock)!=false) {
$numend = $i-1;
}
else "error2";
}
|
Выводятся ошибки при поеске этих кусков строк. В чем проблема понять ни как не могу.
Подскажите как можно реализовать такой граббер или где можно почитать как это делается? | |
|
|