Avatar
michales
Člen
Avatar
michales:

Ahoj všem.

Mohl by se někdo podívat na script níže proč mi nevypíše obsah divu (<div></div>), ikdyž je adresa správná.

function get_content($url)
{
    $ch = curl_init();

    curl_setopt ($ch, CURLOPT_URL, $url);
    curl_setopt ($ch, CURLOPT_HEADER, 0);

    ob_start();

    curl_exec ($ch);
    curl_close ($ch);
    $string = ob_get_contents();

    ob_end_clean();
    $divs = '/<div>(.+)<\/div>/U';
preg_match($divs, $string, $matches);
$vysledek = $matches[1];
    var_dump($vysledek);
    var_dump($url);
}
echo get_content ("http://www.azlyrics.com/lyrics/garthbrooks/midnightsun.html");

var_dump mi vypíše:
NULL
string(59) "http://www.az­lyrics.com/ly­rics/garthbro­oks/midnightsun­.html"

Dříve jsem používal:

function ziskatlyrics($url)
{
    $content = file_get_contents($url);
    $first_step = explode( '<div>' , $content );
    $second_step = explode("</div>" , $first_step[1] );

    $obsah = strip_tags($second_step[0]);
    return $obsah;

}
echo ziskatlyrics("http://www.azlyrics.com/lyrics/garthbrooks/midnightsun.html");

Ale to mi dnes háže chybu :
Warning: file_get_contents(
http://www.azlyrics.com/…ightsun.html
): failed to open stream: HTTP request failed! in

Lze s tím něco udělat aby to bylo zase funkční?
Děkuji za odpověď.

Odpovědět 30.11.2015 19:01
"Cíle by měly být třešínky na dortech, ne na hromadách hoven."
Avatar
Filip Šohajek
Redaktor
Avatar
Odpovídá na michales
Filip Šohajek:

Divů je tam víc, použíj preg_match_all místo preg_match

 
Nahoru Odpovědět 30.11.2015 19:04
Avatar
michales
Člen
Avatar
Odpovídá na Filip Šohajek
michales:

To je sice pravda, ale jen jeden div je tam jako <div></div>, ostatní mají buď nějaké id nebo class

Nahoru Odpovědět 30.11.2015 19:06
"Cíle by měly být třešínky na dortech, ne na hromadách hoven."
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.