2011-06-22 2 views
1

Je veux intégrer SoundCloud par sa url http://soundcloud.com/oembed?url=http://soundcloud.com/kiwinest/linkin-park-iridescent cette URL donne tous les détails du fichier audio y compris les codes embed html donc je veux juste vouloir supprimer tous les codes et que vous voulez id son qui est 17181143 Je suis en utilisant ce codeobtenir Remotely ID SoundCloud en utilisant DOM

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

mais cela ne donne rien SORTIE .. !! (vide)

Répondre

3

Aurait dû aller avec ma réponse :-D. Assurez-vous que $ html n'est pas vide. comme pour vous assurer que vous récupérez quelque chose de cette URL et qu'elle est stockée dans cette variable. Ma réponse était plus courte que son grand cauchemar. Donc, si vous voyez les nombres 8,15 (ci-dessous), cela signifie correspondre à un nombre entre 8 chiffres et 15 chiffres de long. J'ai changé le code ci-dessous.

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]; 
+0

Yup merci de répondre à votre code fonctionne très bien, mais avec 8 chiffres .. !! pouvez-vous me dire si jamais soundcloud peut avoir id plus de 8 chiffres .. !! et la dernière fois que j'ai essayé votre code il affiche l'identifiant sonore 2 fois –

+0

@ user809307 k, j'ai changé le code. 8,15 signifie entre 8 chiffres longs et 15 chiffres longs. – FinalForm

+0

merci beaucoup .. !! bonne journée –

Questions connexes