1

URL http://soundcloud.com/oembed?url=http://soundcloud.com/kiwinest/linkin-park-iridescentでSoundCloudを埋め込みたい このURLは、HTML埋め込みコードを含むサウンドファイルのすべての詳細を提供するので、私はただすべてのコードを削除し、17181143 のサウンド ID が必要 です。このコードを使用しています

<?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;
                    }
                }
            }
        }
    }
}

しかし、これは何も出力しません..!! (空欄)

4

1 に答える 1

3

私の答えで行くべきだった:-D. $html が空でないことを確認してください。たとえば、実際にその URL から何かが返され、それがその変数に格納されていることを確認します。私の答えは、彼のクレイジーで大きな O の悪夢よりも短かった。したがって、数字 8,15 (以下) が表示された場合、それは 8 桁から 15 桁の長さの数字に一致することを意味します。以下のコードを変更しました。

include('lib/simple_html_dom.php');

$html = file_get_html('http://soundcloud.com/oembed?url=http://soundcloud.com/kiwinest/linkin-park-iridescent');

preg_match_all('/[0-9]{8,15}/', $my_string, $ids);

echo $ids[0];
于 2011-06-22T00:16:23.807 に答える