|
|
|
|
<?php
$filename="http://name.ru/station.php?nnst=79310";
$file = fopen( $filename, "r") or die("Îøèáêà") ;
$rf = fread($file, 90000);
fclose($file);
echo $rf;
?>
|
вот такой простой грабер, но страница вечит 28 кб. echo $rf мне выводит только треть страницы. почему? | |
|
|
|
|
|
|
|
для: P@Sol
(02.05.2006 в 09:55)
| | Вместо конструкции
<?php
$file = fopen( $filename, "r") or die("Îøèáêà") ;
$rf = fread($file, 90000);
fclose($file);
?>
|
лучше использовать функцию file_get_contents()
<?php
$rf = file_get_contents($filename);
?>
|
| |
|
|
|
|
|
|
|
для: P@Sol
(02.05.2006 в 09:55)
| | а как из конструкции <a href="любой путь">любые цифры</a> достать "любые цифры"? | |
|
|
|
|
|
|
|
для: P@Sol
(02.05.2006 в 15:54)
| | Для этого можно воспользоваться регулярным выражением
<?php
$text = '<a href="любой путь">любые цифры</a>';
$pattern = "|<a[^>]+>(.*)</a>|isU";
preg_match($pattern,$text,$out);
echo $out[1];
?>
|
| |
|
|
|
|
|
|
|
для: P@Sol
(02.05.2006 в 09:55)
| | спасибо, cheops!
но я никак не разбирусь далее...
у меня есть таблица, для примера, 3 строки
<table cellpadding="5" cellspacing="0" border="0" width="100%">
<tr><td colspan="3" align="center"><b>Сегодня</b></td>
<tr><td class="ttable"><b>Номер</b></td><td class="ttable" align="center"><b>Имя</b></td><td class="ttable"><b>Сколько<br/>раз</b></tr>
<tr class="menu" href="view.php?np=2067" bgcolor="#e5e5e5" title="">
<td class="ttable"><a href="view.php?np=2067">1</a></td>
<td class="ttable">Вася</td>
<td class="ttable">2 раза<td>
</tr>
<tr class="menu" href="view.php?np=2069" title="">
<td class="ttable"><a href="view.php?np=2069">2</a></td>
<td class="ttable">Коля</td>
<td class="ttable">1 раз<td>
</tr>
<tr class="menu" href="view.php?np=2070" bgcolor="#e5e5e5" title="">
<td class="ttable"><a href="view.php?np=2070">3</a></td>
<td class="ttable">Петя</td>
<td class="ttable">2 раза<td>
</tr>
</table>
</td>
<td align="center">
<table cellpadding="5" cellspacing="0" border="0" width="100%">
<tr><td colspan="3" align="center"><b>Вчера</b></td>
<tr><td class="ttable"><b>Номер</b></td><td class="ttable" align="center"><b>Имя</b></td><td class="ttable"><b>Сколько<br/>раз</b></tr>
<tr class="menu" href="view.php?np=1997" bgcolor="#e5e5e5" title="">
<td class="ttable"><a href="view.php?np=1997">1</a></td>
<td class="ttable">Вася</td>
<td class="ttable">6 раз<td>
</tr>
<tr class="menu" href="view.php?np=1998" title="">
<td class="ttable"><a href="view.php?np=1998">2</a></td>
<td class="ttable">Петя</td>
<td class="ttable">4 раза<td>
</tr>
<tr class="menu" href="view.php?np=1999" bgcolor="#e5e5e5" title="">
<td class="ttable"><a href="view.php?np=1999">3</a></td>
<td class="ttable">Коля</td>
<td class="ttable">1 раз<td>
</tr>
|
мне надо это достать из таблицы и вывести на экран
Сегодня:
1 Вася 3 раза
2 Коля 1 раз
3 Петя 2 раза
Вчера:
1 Вася 6 раз
2 Петя 4 раза
3 Коля 1 раз
|
причем 1, 2 и 3 не должны быть уже ссылками
я хотел разбить сначало на строки
$pattern = "|<tr class=\"menu\"[^>]+>(.*)</tr>|isU";
preg_match($pattern,$printing[1],$stroka);
echo $stroka[1]; //1 Вася 3 раза
|
но после этого кода теряются последующии строки
как сделать чтобы $stroka[1] - была первая строка, $stroka[2] - вторая и т.д.? | |
|
|
|
|
|
|
|
для: P@Sol
(03.05.2006 в 10:21)
| | вот до чего я дошел (долеко не идеал...но пока работает:)
<?php
$filename="http://site.ru/station.php?nnst=79310";
$rf = file_get_contents($filename);
$printing = "";
$grab=eregi("<!--Y{VOTE}-->(.*)<td 1width=\"120\"", $rf, $printing);
$k=10;
$pr = str_replace('</tr>',"",$printing[1]);
// $pr = str_replace('</tr>',";",$pr);
$pattern = "<tr class=\"menu\"[^>]+>";
$pr = ereg_replace($pattern,"<br><br>",$pr);
$pr = str_replace('</td>',",",$pr);
$pr = str_replace('<td class="ttable">',"",$pr);
$pr = str_replace('<td>',";",$pr);
$pr = str_replace('<table cellpadding="5" cellspacing="0" border="0" width="100%">',"##",$pr);
$grab=eregi("<a href=\"view[^>]+>(.*)<hr/>", $pr, $pr);
echo strip_tags($pr[1]);
?>
|
| |
|
|
|