2017-05-29 26 views
1

基本的に私は、外部のHTMLページからスクリプトタグ内からデータを取得したい、内部のスクリプトからデータを取得し、PHPでプレーンテキストに渡しますか?

例:>> ソース:[{

<script type="text/javascript"> 
var playerInstance = jwplayer("jwplayer"); 
    playerInstance.setup({ 
    id:'jwplayer', 
    width: "100%", 
    height: "100%", 
    aspectratio: "16:9", 
    fullscreen: "true", 
    primary: 'html5', 
    provider: 'http', 
    autostart: false, 
    sources: [{"type":"video/mp4","label":360,"file":"MY-VIDEO-LINK"},{"type":"video/mp4","label":480,"file":"MY-VIDEO-LINK"}], 
}); 

は、私はちょうど黒印をしたいです"タイプ:" "ビデオ/ mp4"、 "ラベル":360、 "ファイル": " "MY-VIDEO-LINK"}]

私はPHPでページへのアクセス権を持っている:

私はほとんどが、カール、運、およびDOMを試してみた:

include_once('simple_html_dom.php'); 
$html = file_get_html($url); 
$elem = $html->find('sources', 0); //tried with 'sources' but probably is wrong 
echo $elem; 

私は助けを感謝します、事前に感謝を!

答えて

0

simple_html_domなしでこのコードを試してみてください。

$url = 'YOUR_URL'; 
$curl = curl_init($url); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.224 Safari/534.10'); 
$html = curl_exec($curl); 
curl_close($curl); 
$dom = new DOMDocument(); 
@$dom->loadHTML($html); //convert character asing 
$xpath = new DOMXPath($dom);  
$script = $xpath->query ('//script[contains(text(),"sources:")]')->item (0)->nodeValue; 

$json = end(explode('sources:', $script)); 
$json = explode (']', $json)[0].']'; 

echo $json 

EDITEDは、それが唯一の ``]を返します

+0

役立ちますし、ロードに時間がかかると思います。 –

+0

は$スクリプトをあなたのjavascriptコードと同じようにエコーするのですか? –

+0

結果として単一の ']' –

関連する問題