使用 PHP file_get_contents 获取
fetching with PHP file_get_contents
我有这个link
view-source:http://abcast.net/embed.php?file=klaci16&width=750&height=450
我只想从其他 php 页面上的页面获取 m3u8 属性
例如,我从 link 那里得到了这个:
player = videojs("Player", {
"sources" : [ { "type": "application/x-mpegURL", "src": "http://live.abcast.net:8081/edge/verc9f615461d48dd8b44c84e0b87c50894/playlist.m3u8?wmsAuthSign=c2VydmVyX3RpbWU9OS82LzIwMTcgNTo1OToxOCBQTSZoYXNoX3ZhbHVlPVVPTElSQ3V4NENKM0FoQUhRUWJIYUE9PSZ2YWxpZG1pbnV0ZXM9MTIw" } ],
"techOrder" : [ "html5", "flash" ],
我只想在其他 php 页面上显示此属性
http://live.abcast.net:8081/edge/verc9f615461d48dd8b44c84e0b87c50894/playlist.m3u8?wmsAuthSign=c2VydmVyX3RpbWU9OS82LzIwMTcgNTo1OToxOCBQTSZoYXNoX3ZhbHVlPVVPTElSQ3V4NENKM0FoQUhRUWJIYUE9PSZ2YWxpZG1pbnV0ZXM9MTIw
有什么帮助吗?我尝试了这段代码,但无法正常工作
<?php
$url="http://abcast.net/embed.php?file=klaci16";
$html = file_get_contents($url);
$doc = new DOMDocument();
@$doc->loadHTML($html);
$tags = $doc->getElementsByTagName('player');
foreach ($tags as $tag) {
echo $lol=$tag->getAttribute('src');
}
?>
第 1 步。使用 strpos 搜索字符串以查找 'videojs("Player"' - 针
第2步。使用substr
从针的位置删除字符串中的所有内容
可选步骤:查找 videojs 的最后一个结束标记 - 类似于“);”并使用 substr
删除剩余数据
第 3 步。此时您可以使用带有定界符的 explode 作为 "(有点老套)
第 4 步。这将为您提供包含在“”
中的每个参数的数组
第 5 步。您现在可以访问数组以获取所需的数据。
<?php
$url="http://abcast.net/embed.php?file=klaci16";
$html = file_get_contents($url);
$find = 'videojs("Player", ';
$pos = strpos($html,$find);
$html = substr($html, $pos+$find,-1); // Position + amount of characters of the needle
$html = explode('"', $html);
print_r($html); // What's the key?
echo $html[11]; // 11 = http://live.abcast.net:8081/edge/verc9f615461d48dd8b44c84e0b87c50894/playlist.m3u8?wmsAuthSign=c2VydmVyX3RpbWU9OS82LzIwMTcgNTo1OToxOCBQTSZoYXNoX3ZhbHVlPVVPTElSQ3V4NENKM0FoQUhRUWJIYUE9PSZ2YWxpZG1pbnV0ZXM9MTIw
?>
我有这个link
view-source:http://abcast.net/embed.php?file=klaci16&width=750&height=450
我只想从其他 php 页面上的页面获取 m3u8 属性
例如,我从 link 那里得到了这个:
player = videojs("Player", { "sources" : [ { "type": "application/x-mpegURL", "src": "http://live.abcast.net:8081/edge/verc9f615461d48dd8b44c84e0b87c50894/playlist.m3u8?wmsAuthSign=c2VydmVyX3RpbWU9OS82LzIwMTcgNTo1OToxOCBQTSZoYXNoX3ZhbHVlPVVPTElSQ3V4NENKM0FoQUhRUWJIYUE9PSZ2YWxpZG1pbnV0ZXM9MTIw" } ], "techOrder" : [ "html5", "flash" ],
我只想在其他 php 页面上显示此属性
http://live.abcast.net:8081/edge/verc9f615461d48dd8b44c84e0b87c50894/playlist.m3u8?wmsAuthSign=c2VydmVyX3RpbWU9OS82LzIwMTcgNTo1OToxOCBQTSZoYXNoX3ZhbHVlPVVPTElSQ3V4NENKM0FoQUhRUWJIYUE9PSZ2YWxpZG1pbnV0ZXM9MTIw
有什么帮助吗?我尝试了这段代码,但无法正常工作
<?php
$url="http://abcast.net/embed.php?file=klaci16";
$html = file_get_contents($url);
$doc = new DOMDocument();
@$doc->loadHTML($html);
$tags = $doc->getElementsByTagName('player');
foreach ($tags as $tag) {
echo $lol=$tag->getAttribute('src');
}
?>
第 1 步。使用 strpos 搜索字符串以查找 'videojs("Player"' - 针
第2步。使用substr
从针的位置删除字符串中的所有内容可选步骤:查找 videojs 的最后一个结束标记 - 类似于“);”并使用 substr
删除剩余数据第 3 步。此时您可以使用带有定界符的 explode 作为 "(有点老套)
第 4 步。这将为您提供包含在“”
中的每个参数的数组第 5 步。您现在可以访问数组以获取所需的数据。
<?php
$url="http://abcast.net/embed.php?file=klaci16";
$html = file_get_contents($url);
$find = 'videojs("Player", ';
$pos = strpos($html,$find);
$html = substr($html, $pos+$find,-1); // Position + amount of characters of the needle
$html = explode('"', $html);
print_r($html); // What's the key?
echo $html[11]; // 11 = http://live.abcast.net:8081/edge/verc9f615461d48dd8b44c84e0b87c50894/playlist.m3u8?wmsAuthSign=c2VydmVyX3RpbWU9OS82LzIwMTcgNTo1OToxOCBQTSZoYXNoX3ZhbHVlPVVPTElSQ3V4NENKM0FoQUhRUWJIYUE9PSZ2YWxpZG1pbnV0ZXM9MTIw
?>