Как получить часть исходного кода URL jwplayer - PullRequest
0 голосов
/ 16 мая 2018

Добрый день, друзья ...

Как получить часть исходного кода URL jwplayer, я имею в виду часть mp4, и я нашел то, что ищу здесь источник

Я пытаюсь использовать это, но я не могу сделать это правильно, извините за мой плохой английский, может кто-нибудь взглянуть на мой php-код ниже .... Я хочу получить ссылку http://localhost/srt/43534234/viral022018SD.MP4 и http://localhost/srt/43534234/viral022018HD.MP4 или все mp4 URL внутри него в viral022018.html

Спасибо, надеюсь, кто-нибудь поможет мне ... спасибо

Это мой php код

<?php
$html = file_get_contents('https://localhost/video/viral022018.html');
//$dom->loadHtml('', LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
$dom = new DOMDocument();
$dom->loadHTML($html);

$xpath = new DOMXPath($dom);

$sources = [];
foreach ($xpath->query("//script[@type=\"text/javascript\"]") as $script) {
    if (stristr($script->nodeValue, 'playerInstance') !== false) {
        preg_match_all('#file: \"(.+)\"#', $script->nodeValue, $match);
        $sources = $match[1];
    }
}

print_r($sources);
?>

Это viral022018.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<link href='https://fonts.googleapis.com/css?family=Hanuman' rel='stylesheet' type='text/css'>
<link href="https://fonts.googleapis.com/css?family=Scada" rel="stylesheet">
<link href="jwplayer-7.12.8/skins/prime.min2.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="jwplayer-7.12.8/jwplayer.js"></script>
<script type="text/javascript">jwplayer.key="I9HOJrL1NmqruQ60as34wt34/23422dsdrwer==";</script>
</head>
<body>
<div id="picasa" class="picasa"></div>
<script type="text/javascript">
    var playerInstance = jwplayer("picasa");
        playerInstance.setup({
        id:'picasa',
        controls: true,
        displaytitle: true,

        flashplayer: "//ssl.p.jwpcdn.com/player/v/7.12.5/jwplayer.flash.swf",
        width: "100%",
        height: "100%",
        aspectratio: "16:9",
        fullscreen: "true",
        provider: 'http',
        autostart: false,
        image:'http://localhost/viral/viralvideo.jpg',
            sources: [{file:"http://localhost/srt/43534234/viral022018SD.MP4",label:"SD",type: "video/mp4"},{file:"http://localhost/srt/43534234/viral022018HD.MP4",label:"HD",type: "video/mp4",default: true}],
            sharing:{
                link: "",
                code: "",
                heading: "Share",
                sites: ["facebook","twitter","tumblr","googleplus","reddit","linkedin","interest","email"],
            },
sharing:{
                link: "",
                code: "",
                heading: "Share",
                sites: ["facebook","twitter","tumblr","googleplus","reddit","linkedin","interest","email"],
            },
tracks: [{
            file: 'http://localhost/srt/viralvideo022018.srt',
            label: 'English',
            kind: 'captions',
            "default":true
}],

     captions: {
        color: '#FFEB3B',
        fontSize: 14,
        fontFamily: 'Scada, Hanuman, sans-serif, Verdana, cursive',
        fontOpacity: 100,
        backgroundOpacity: 0,
backgroundColor: '#000000',
        edgeStyle: 'raised',
        windowColor: '#000000',
        windowOpacity: 0
    },
skin: {
        name: 'prime',
    },




          });

</script>
</body>
</html>

1 Ответ

0 голосов
/ 16 мая 2018

Пожалуйста, попробуйте это регулярное выражение:

{\s*file\s*:\s*["']\s*(http[^"']+\.mp4)

Попробуйте это здесь: https://regex101.com/r/rmgKId/2

Соответствующий URL находится в группе 1.

(ПРАВКА: добавлено \.mp4, чтобы сделать его конкретным для этих файлов)

РЕДАКТИРОВАТЬ: Чтобы реализовать в PHP в общем, вы должны сделать что-то вроде этого:

preg_match_all('/{\s*file\s*:\s*["\']\s*(http[^"\']+\.mp4)/i', $subject,
    $result, PREG_PATTERN_ORDER);
$result = $result[1];

$result будет массив всехтекст соответствует нумерации группы 1 в регулярном выражении.Но я оставляю вам возможность вставлять код выше (измените имена переменных так, чтобы они соответствовали вашим желаниям).

...