Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   PHP.Как извлечь данные с сайта (https://forum.antichat.xyz/showthread.php?t=115507)

Moldman 12.04.2009 11:11

PHP.Как извлечь данные с сайта
 
Как извлечь данные которые находятся между двумя конкретными строками,а потом вывести их не нарушив их структуру в HTML?

m0Hze 12.04.2009 11:13

preg_match();
echo();

Moldman 12.04.2009 11:16

m0Hze,можно конкретный пример?

rushter 12.04.2009 11:17

Учи регулярки
http://pyha.ru/forum/topic/19.0

Gar|k 12.04.2009 12:13

тотже вопрос только что тут задавался
выложил пример на Perl

http://forum.antichat.ru/thread115501.html

Sharky 12.04.2009 13:29

file_get_contents + preg_match_all + print_r (ну или echo)

Gar|k 12.04.2009 15:57

Moldman, ты просил пример
я на php не писал подобные парсеры но смысл в чем

смотри мой пример по ссылке выше
получаешь контекст сайта или через fsockopen

PHP код:

<?php
$fp 
fsockopen ("www.example.com"80$errno$errstr30);
if (!
$fp) {
    echo 
"$errstr ($errno)<br>\n";
} else {
    
fputs ($fp"GET / HTTP/1.0\r\nHost: www.example.com\r\n\r\n");
    while (!
feof($fp)) {
        echo 
fgets ($fp,128);

// тут обработку надо вставить

    
}
    
fclose ($fp);
}
?>

можно и через file
тебе много функций сказали

PHP код:

<?php
// получить web-страницу в виде массива и напечатать его
$fcontents file ('http://www.example.com/');
while (list (
$line_num$line) = each ($fcontents)) {
    echo 
"<b>Line $line_num:</b>; "htmlspecialchars ($line), "<br>\n";
}

// получить web-страницу в строке
$fcontents implode (''file ('http://www.example.com/'));
?>

вот и в цикле через регулярки построчно парсишь ... опять же функции тебе сказали preg_***

примеры регулярок и как применяется это смотри в моем приере на perl там это пишется через $s=~/регулярка/ (эквивалент preg_grep)

Удаче, товаришь!


Время: 12:45