2017-05-29 62 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」},{ 「類型」: 「視頻/ MP4」, 「標籤」:480, 「文件」: 「MY-VIDEO-LINK」}]

我可以訪問使用PHP的頁面:
$url = 'http://my-external-site.com/embed.php?url=blahblahblah';

我試着捲曲,沒有運氣,和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的代碼。 EDITED

$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 

希望它可以幫助

+0

這只是返回']'和需要一些時間來加載。 –

+0

是如果你回聲$腳本結果相同的JavaScript代碼? –

+0

不!這是一個單一的']' –

相關問題