我想通过URL嵌入SoundCloud文件:http://soundcloud.com/oembed?url=http://soundcloud.com/kiwinest/linkin-park-iridescent这个URL提供了声音文件的每个细节,包括HTML嵌入代码。
我想删除所有代码,只需要声音id,即17181143。我正在使用此代码:
<?php
include('lib/simple_html_dom.php');
$html = file_get_html('http://soundcloud.com/oembed?url=http://soundcloud.com/kiwinest/linkin-park-iridescent');
if ($html) {
foreach ($html->find('object') as $obj) {
foreach ($obj->find('param') as $par) {
if ($par->name == 'movie') {
$embed = parse_url($par->value);
parse_str(urldecode($embed['query']), $val);
if (array_key_exists('url', $val)) {
$url = parse_url($val['url']);
$path = explode('/', $url['path']);
$code = array_pop($path);
if (is_numeric($code)) {
echo 'CODE: ' . $code . PHP_EOL;
}
}
}
}
}
}
但这不会产生任何输出。
1条答案
按热度按时间bvhaajcl1#
确保$html不为空;比如确保你确实从那个URL中得到了一些东西,并且它存储在那个变量中。我的回答比他那疯狂的大噩梦还要简短。因此,如果你看到数字8,15(下面),这意味着匹配一个8位到15位之间的数字。我更改了下面的代码。