Autor Zpráva
Pauli31
Profil
Ahoj ,
Mám takový problém dělám stránky fotbalového klubu jako maturitní práci a Potřeboval bych nějak nacpat tabulku a výsledky z fotbal.cz (třeba http://nv.fotbal.cz/domaci-souteze/kao/plzensky/souteze.asp?soutez=320C2B). Prosím o radu jak stahnout data z tabulky nebo jen tam vložit tabulku díky.
Sir Tom
Profil
Pauli31:
Také ahoj,

nauč se, jak se v HTML píšou tabulky. Pak se podívej do zdrojového kódu webu, odkud tabulku chceš a patřičný kód si zkopíruj.

Nezapomeň pak ještě uvést zdroj.
Pauli31
Profil
Sir Tom:
omlouvám se špatně jsem popsal můj problém. tabulky v html umím ale potřebuju aby se pravidelně aktualizovali potřeboval bych poradit se skritptem který by ty data stahoval sám a ne abych to dělal manuálně pokaždé když se tabulka aktualizuje což je tak 2x týdně. nevím jak mám z té stránky pomocí php vybrat jen ty data která potřebuju.
BuGeR
Profil
Pauli31:

file_get_contents()
Pauli31
Profil
BuGeR
Jo vím tuhle metodu jsem už zkoušel ale nevím jak z té stránky když ji stahnu vybrat jen ty data která potřebuji o tohle mi jde to potřebuji poradit.
BuGeR
Profil
Regulární výrazy :) A nebo explode(), ale to bude prasácke.
Pauli31
Profil
BuGeR
Aha no regularním výrazů jsem se chtěl vyhnout nerad je používám
BuGeR
Profil
Pauli31:
To já taky. Ale myslím si, že jejich použítí pro tento případ je vhodné.
MartinR
Profil
No, ja to presne z teto stranky taky sosam :-)

<?php
header("Content-Type: text/html; charset=utf8");
$scoreboard = '';
// new dom object
$dom = new DOMDocument();

 $html = $dom->loadHTMLFile('http://nv.fotbal.cz/domaci-souteze/kao/rk-morava/souteze.asp?soutez=003A2E');
$dom->preserveWhiteSpace = false;
//the table by its tag name
$tables = $dom->getElementsByTagName('table');
//get all rows from the table
$rows = $tables->item(3)->getElementsByTagName('tr');

 // loop over the table rows
$row_counter = 0;
foreach ($rows as $row) {
    // 0. radek je nadpis tabulka
    // 1. radek je popis tabulky - oboje nas nezajima
    if ($row_counter > 1) {
    // get each column by tag name
    $cols = $row->getElementsByTagName('td');

     $col_counter = 1;
    $radek_tabulky = '';
    $tr_class = '';
    foreach ($cols as $i) {

         if ($col_counter < 9) {
        if ($col_counter == 2) {
            if ($i->nodeValue == 'Val. Meziříčí') {
            $i->nodeValue = 'V. Meziříčí';
            }
            if ($i->nodeValue == 'Dolní Benešov') {
            $i->nodeValue = 'Benešov';
            }
            if ($i->nodeValue == 'Brumov') {
            $tr_class = ' class="white"';
            }
        }
        $radek_tabulky .= '<td class="t' . $col_counter . '">' . $i->nodeValue . '</td>';
        }
        $col_counter++;
    }
    $scoreboard .= "<tr$tr_class>" . $radek_tabulky . '</tr>';
    }
    $row_counter++;
}


 $handle = fopen('mujfile.inc', 'w+');
fwrite($handle, $scoreboard);
fclose($handle);
?>

Třeba to pomůže.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0