使用PHP获取并输出html源代码(shoutcast 7.html)

使用PHP获取并输出html源代码(shoutcast 7.html),php,html,Php,Html,你好,我想抓取一些html并显示在另一个页面上。我正在做一个shoutcast服务器,我想从7.html获取歌曲标题,但我需要的只是歌曲的标题。我试过fsockopen,但我的网络主机阻止了这一点,所以我无法像那样连接和获取歌曲标题 html的源代码如下所示 <HTML><meta http-equiv="Pragma" content="no-cache"></head><body>0,1,0,5000,0,96,SONG TITLE HERE&

你好,我想抓取一些html并显示在另一个页面上。我正在做一个shoutcast服务器,我想从7.html获取歌曲标题,但我需要的只是歌曲的标题。我试过fsockopen,但我的网络主机阻止了这一点,所以我无法像那样连接和获取歌曲标题

html的源代码如下所示

<HTML><meta http-equiv="Pragma" content="no-cache"></head><body>0,1,0,5000,0,96,SONG TITLE HERE</body></html>
0,1,05000,0,96,歌曲标题在这里
我需要显示的只是“SONG TITLE HERE”,如何将该信息设置为php变量

我知道下面的方法,但这里的问题是,它会得到一切。我只需要源html的一部分

<?php
$homepage = file_get_contents('http://www.example.com/');
echo $homepage;
?>

尝试以下方法:

<?php
$content = file_get_contenst("7.html");
$dom = new DOMDocument();
$dom->loadHTML($content);

$body = $dom->getElementsByTagName('body');

$info = $body->item(0)->nodeValue;

$infoArr = str_getcsv($info);

$title = array_pop($infoArr);
?>
preg_match("/<body>(.*?)<\/body>/i", $html, $matches);

有很多方法可以解决这个问题。您也可以使用类似以下内容:

<?php
$content = file_get_contenst("7.html");
$dom = new DOMDocument();
$dom->loadHTML($content);

$body = $dom->getElementsByTagName('body');

$info = $body->item(0)->nodeValue;

$infoArr = str_getcsv($info);

$title = array_pop($infoArr);
?>
preg_match("/<body>(.*?)<\/body>/i", $html, $matches);
preg_match(“/(.*?)/i”,$html,$matches);
而不是文档。或explode()而不是str_getcsv()。


我能够使用iframe从服务器的7.html中获取所有内容


adeneo answer可以完美地工作,但是我的主机不允许我以这种方式连接到其他服务器。

这可以工作,但我的主机不允许我加载场外html文件。我得到一个“无法打开流:连接被拒绝”的消息,我开始认为我可能无法做到这一点。任何人都有解决方案的想法吗?如果这个或文件内容不起作用,那么查看cURL或其他选项可能也不起作用。您必须联系您的主机,要求他们删除阻止请求的任何内容,或者找另一个主机。您可以尝试执行
file\u get\u contents()
,然后使用正则表达式提取歌曲信息,即
preg\u match()