2012-08-26 14 views
10

Jak korzystać simple html dom parse img html5 atrybut: data-originalphp proste atrybuty html5 w domenie HTML atrybutu?

$htmls = '<img class="lazy" alt="Nubifragio a Verbania , ferite 2 turiste Gravi danni, chiesto stato di calamità foto" title="Nubifragio a Verbania , ferite 2 turiste Gravi danni, chiesto stato di calamità foto" data-original="http://www.repubblica.it/images/2012/08/26/130634575-506cc9ae-11b8-4a53-920c-539a3811e46b.jpg" src="http://www.repubblica.it/static/images/homepage/2012/lazy.png" width="130" height="98" style="display: inline; ">'; 
$html = str_get_html($htmls); 
$fata = $html->find('img'); 
foreach($fata as $newimage){ 
    echo $newimage->data-original; //0 
    echo $newimage->src; //http://www.repubblica.it/static/images/homepage/2012/lazy.png 
} 

mogę dostać atrybut src, ale data-original powrót 0

+0

Mówisz '$ newimage-> data - original;' –

+0

@Stephen Sarcsam Kamenar, tak, jak uzyskać tę wartość, użyj prostego html dom? – Giberno

+0

Wypróbuj '$ newimage ['data-original'];' –

Odpowiedz

19
$newimage->data-original; 

oznacza

$newimage->data - original; 

Droga okrągła To jest do wypróbowania:

$property = 'data-original'; 
$newimage->$property; 

lub stosować alternatywną składnię:

$newimage['data-original']; 
+12

w prawo, w php powinno to być '$ newimage -> {'data-original'};', thanks. – Giberno

+1

Zignorowałem tę odpowiedź niepoprawnie, ale nie mogę jej teraz cofnąć- przepraszam za to ... –

+0

Rozumiem, że to jest stare, ale natknąłem się na to, przedłożyłem poprawkę, aby użyć właściwej składni na ostatniej linii. –

5

Po prostu FYI:

ja próbowałem:

$newimage['data-original']; 

ale to, co pracował dla mnie:

$property = 'data-original'; 
$newimage->$property; 
+0

Alternatywna składnia nie zadziałała również dla mnie, ale ta druga sprawiła mi przyjemność. – VSG24

+0

Tak samo, ale wystąpił błąd informujący, że nie można użyć prostego elementu DOM HTML jako tablicy. Zakończono używanie składni '$ newImage -> {'data-original'}}, która działała poprawnie. –