2010-10-01 13 views
0

Je suis à la recherche fo une fonction, pour extraire la source mp3 de ce bout de code: http://www.xyz.com/previews/speed_racer_preview.mp3 1930510 audio/mpegPhp Fonction, pour extraire le lien de texte court

je ne dois cette partie: http://www.xyz.com/previews/speed_racer_preview.mp3

Cette partie a toujours la même structure, seule la source change.

Répondre

0
echo substr($str, 0, strpos($str, ' ')); 
+0

Les deux fonctions ne fonctionnent pas. Je pense que c'est à cause des espaces vides. – chris

+0

Cela fonctionne bien pour moi. Vérifiez-vous: http://ideone.com/ZNqQO – zerkms

+0

PS: ce qui est "espaces vides"?!? O_o – zerkms

2

S'il est toujours formaté comme ça il suffit d'utiliser explode (il casse une chaîne en un tableau sur un caractère donné, dans cet espace de cas):

$arr = explode(' ',$the_data_string); 
$URL = $arr[0]; 

Hope this helps,

Pour plus d'informations, vous pouvez lire the manual.

0
$arr = explode(" ",$url); 

la méthode exploser retourner un tableau si:

$finalurl = $arr[0] 
0

A regex vous pouvez utiliser avec l'un des PHP's regex functions (vous devrez peut-être jouer avec un peu, je viens de faire cela dans BareGrep, ont pas écrit une fonction PHP complet pour vous, mais cela devrait vous aider à démarrer, les citations ne font pas partie de l'expression régulière bien sûr):

" ([A-Za-z0-9_//:.]+[.]mp3) " 
+1

Si vous suggérez d'utiliser regex, alors celui-ci: "~^\ S + ~" sera ** beaucoup ** meilleur. – zerkms

+0

J'ai utilisé ceci: 'preg_match_all ('! Https?: // [\ S] +!', $ File_url, $ matches);' – chris

+0

@zerkms: Assez juste, je ne suis pas particulièrement adepte des expressions regex, je viens voulait faire un commentaire sur l'approche générale parce que personne d'autre ne l'avait fait. – M2tM

0

en utilisant une expression régulière. Toutes les correspondances sont enregistrées dans le tableau $ result.

$res = preg_match("/http:\/\/[^\s]+\.mp3/", $source, $result); 
print_r($result); // Each index will be a different matched mp3, if there is more than one 

La valeur de retour est une valeur indiquant si la correspondance était positive.

Questions connexes