No wlasnie wedlug mnie powinny oba dzialac, a jednak jedna wersja mi nie dziala, moze na to miec np wplyw php ? uzywam wersji 5
Posiedzialem , pobawilem sie i doszedlem do czegos takiego :
Faktycznie jakby oba rozwiazania działaja ... ale gdy zrobie tak :
<?php
$data = '<div class="filmRateInfo"><i class="icon-big-star"></i> <span class="filmRate"><strong rel="v:rating" property="v:average"> 7,5</strong>/10</span>';
if( preg_match( '#<span class="filmRate"><strong rel="v:rating" property="v:average">([^<]+)</strong>/10</span>#', $data, $out ) ) {
}
?>
No to faktycznie działa, ale gdy robie to w funkcji korzystajac z curla juz mi to nie dziala .. ;( Wkleje kawalek kodu tej funkcji moze ktoś bedzie wiedział o co chodzi ...
<?
function getMovieInfo( $adres )
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "$adres");
curl_setopt($curl, CURLOPT_COOKIE, "welcomeScreenNew=welcomeScreen" );
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($curl);
if( preg_match( '#<span class="filmRate"><strong rel="v:rating" property="v:average">([^<]+)</strong>#', $data, $out ) ) {
$info[ 'rate' ] = $out[ 1 ];
}
if( preg_match( '#<span id=filmYear class=halfSize>\(([0-9]+)\) </span>#', $data, $out ) )
{
$info[ 'year' ] = $out[ 1 ];
}
return $info;
curl_close($curl);
}
$adres="http://www.filmweb.pl/film/Beema-2003-118694";
?>
<pre>
<? print_r (getMovieInfo
($adres)); ?></pre>
Jak usune cudzyslowy z filmRate to działa.. ale jak juz usune wszystkie to znowu nie dziala, gdzie jest haczyk ?
Wklejając ten kod zauważyłem jeszcze jedna niezrozumiala dla mnie rzecz , otóż ten kod pobiera rok, chociaż chyba nie powinnien poniewaz jest
<span id=filmYear class=halfSize>
a na stronie w kodzie źródłowym jest
<span id="filmYear" class="halfSize">
O co w tym chodzi bo zgłupiałem, wyświetlałem tez cały plik $data no i pobiera ladnie cały kod źródłowy ale juz preg_match niedziała tak jak powinien....