NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: HTML SIMPLE DOM - Pomoc

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
E.r.O.o.R
Člen
Avatar
E.r.O.o.R:16.10.2016 12:15

Zdravím všechny,

Již se trápím z jednou věcí den, dělám parsovaní poprvé. Potřeboval bych z odkazu: http://www.streamuj.tv/…ddcec839d3d4
Ze zdrojového kódu je tam:

'code': '<iframe src="http://www.streamuj.tv/video/b3206510ddcec839d3d4?remote=1&width=960&height=540" width="975" height="555" scrolling="no" frameborder="0"></iframe>'

A já bych potřeboval vytáhnout do PHP jen tohle:

http://www.streamuj.tv/video/1a660a85e9a2d02e976d?remote=1&width=960&height=540

aby to v PHP bylo tímto způsobem:

$_code = "http://www.streamuj.tv/video/1a660a85e9a2d02e976d?remote=1&width=960&height=540";

Můžete mi prosím někdo pomoct? Už si nevím rady

Editováno 16.10.2016 12:16
 
Odpovědět
16.10.2016 12:15
Avatar
Odpovídá na E.r.O.o.R
Dominik Klapuch:16.10.2016 15:03

Nepracuj s HTML jako s řetezcem, ale opravdu jako s HTML. Využij k tomuhle účelu DOMDocument s kombinací XPath a danou URL adresu získáš jednoduše.

Jako výraz můžeš použít

//div[@id="mediaplayer_sharing"]//input/@value
Editováno 16.10.2016 15:04
Nahoru Odpovědět
16.10.2016 15:03
Kód a data patří k sobě.
Avatar
Milan Gallas
Tvůrce
Avatar
Odpovídá na E.r.O.o.R
Milan Gallas:16.10.2016 18:15

Tímto způsobem si například můžeš vybrat všechny iframe objekty a vypsat si jejich atribut src.

$document = new DOMDocument();
//v proměnné response je html obsah, který si stáhnul z webu
 $document->loadHTML($response);

$frameSrc = array();
foreach($document->getElementsByTagName('iframe') as $link)
{
    var_dump($link->getAttribute('src'));

}

Ps. metodu getElementsBy­TagName si poté můžeš vyměnit za jinou metodu, která bude lepší pro tvůj účel.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
16.10.2016 18:15
Avatar
E.r.O.o.R
Člen
Avatar
E.r.O.o.R:16.10.2016 21:37

Díky, vyřeno

 
Nahoru Odpovědět
16.10.2016 21:37
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 4 zpráv z 4.