2010-05-25 10 views
1

J'essaie d'utiliser l'API youtube pour télécharger quelques vidéos pour mon site. Actuellement je suis en cours d'exécution de ce code ici:

//Youtube Videos Pull Down 
$youtubeURL = "http://gdata.youtube.com/feeds/api/videos?alt=json&q=cats+cradle+chapel+hill&orderby=published&max-results=10&v=2"; 
$youtubeSearch = file_get_contents($youtubeURL, true); 
$youtubeArray = json_decode($youtubeSearch, true); 

Ne pas avoir des problèmes d'accès à certains éléments du tableau associatif mais le api youtube met $ dans un grand nombre de ses éléments de tableau .. tels que [les médias groupe $]

Chaque fois que j'essaie d'accéder à un tableau avec l'un des éléments $, cela ne fonctionne pas. Suggestions?

J'ai essayé preg_replace mais je n'arrive pas à trouver l'expression correcte.

+0

Pouvez-vous nous montrer le code de votre accès? – ryeguy

+0

Est-ce que vous citez la clé? $ array ['media $ group'] – nuqqsa

Répondre

4

Vous devriez être en mesure d'y accéder très bien, il vous suffit de vous assurer d'utiliser des guillemets simples ou bien php va essayer de interpoler $group comme une variable, donc:
$youtubeArray['media$group']

Et si vous voulez utilisez-le dans preg_replace, vous devez lui échapper avec une barre oblique inverse: \$. $ est un identifiant regex valide, de sorte que l'expression rationnelle est déclenchée dessus.

Si vous le remplacez bien, vous devez utiliser str_replace. Il n'y a aucun besoin d'apporter des expressions régulières (plus lentes) dans ceci.

+0

+1 Très bien dit! –

+0

Ahh guillemets simples ont fait l'affaire. Merci les gars! – Chase

+0

+1 vous ne pouvez jamais avoir assez de guillemets simples. Il n'y a vraiment aucune raison d'utiliser des guillemets doubles en PHP - les guillemets simples avec concaténation sont plus rapides à analyser et seront plus faciles à lire pour la plupart des développeurs qui sont habitués aux langages n'offrant qu'une concaténation. La seule exception est si vous devez analyser des caractères échappés comme \ n, où l'utilisation de guillemets est préférable à l'insertion d'un saut de ligne dans votre code. – Daniel