Autor Zpráva
Saky
Profil *
Zdravím, mám script, který má z vlastní databáze URL zjišťovat titulky stránky.
Jako $adresa["url"] je doplňována URL v rámci cyklu.
Mám něco takového:
$file = fopen ($adresa["url"], "r")or die("");
while (!feof ($file)) {
    $line = fgets ($file, 1024);
    if (eregi ("<title>(.*)</title>", $line, $titulek)) {
        $title = $titulek[1];
        echo $title;
        break;
    }
}
fclose($file);

Potíž je, že pokud se jedná o neexistující adresu (zrušenou), script ještě před hláškou DIE vypíše:
Warning: fopen() [function.fopen]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/htdocs/vypis.php on line 13.
Dokáže někdo poradit, jak vypsat titulek jestliže existuje a jestliže ne, nevypsat nic?
Díky za radu :-)
unlucky
Profil
zkus tohle:

function title($web,$a,$b){ 
$y = explode($a,$web);
$x = explode($b,$y[1]);
return $x[0];

}

echo title(file_get_contents('http://diskuse.jakpsatweb.cz/?action=vthread&forum=9&topic=106706'), "<title>", "</title");

Saky
Profil *
unlucky:
Výpis sice proběhne, ale jestliže zadám neplatnou URL, opět to vypisuje chybu z prvního příspěvku :-(
petr 6
Profil
Saky:
Výpis sice proběhne, ale jestliže zadám neplatnou URL, opět to vypisuje chybu z prvního příspěvku :-(
Jakou chybu? Určitě ne Warning: fopen()..., vzhledem k tomu, že unlucky ve svém kódu žádné fopen() nemá.
DJ Miky
Profil
if($file = @fopen ($adresa["url"], "r")) {
    while (!feof ($file)) {
        $line = fgets ($file, 1024);
        if (eregi ("<title>(.*)</title>", $line, $titulek)) {
            $title = $titulek[1];
            echo $title;
            break;
        }
    }
    fclose($file);
}
Saky
Profil *
DJ Miky:
Super, funguje :o).
Díky moc všem za rady :)
Aaron135
Profil
Díky taky sem to potřeboval vědet :)

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: