If youtube video address has "feature=player_embedded&" in it, video does not displays. Example:
[video:http://www.youtube.com/watch?feature=player_embedded&v=jzmXhe5Ssrk]

Files: 

Comments

And here comes the fix!

'/youtube\.com\/watch\?(?:feature=player_embedded\&)?v=([a-z0-9\-_]+)(?:\&feature=player_embedded)?/i'

Where do you get an URL like that?

I agree that this is a common issue with content editors. YouTube videos are often grabbed from videos embedded on other sites, and when you click the link within the embed, it attaches a "filtered" query to the video.

+1 on fixing.

@mr.alinaki - nice one song :D

Status:Active» Needs work

I'm in favor of fixing it, but the regexp in #1 doesn't work.

Status:Needs work» Needs review

What about this?

youtube\.com\/watch\?(([a-z0-9%*\-_.]+=[a-z0-9%*\-_.]+)+&)*(v=[a-z0-9%*\-_.]+)(&([a-z0-9%*\-_.]+=[a-z0-9%*\-_.]+))*

This would match any valid query string containing v=whatever. That way you don't have to know all the valid variables (or account for new ones when they're added to the API in the future). It breaks down like this:

  • youtube.com/watch?
  • zero or more sets of var=val&
  • v=whatever
  • zero or more sets of &var=val

This is a very common use case.

I tried adding the regex from #1 and #6 into new lines within video_filter.codecs.inc, and also tried replacing line with it.

It didn't work though. The URL that I'm trying to get to work is

http://www.youtube.com/watch?feature=player_embedded&v=UDMUyhNJhi8

/youtube\.com\/watch\?(?:[\w]+=[\w]+\&)*v=([a-z0-9\-_]+)(?:[\w]+=[\w]+\&)*/i

More robust and matches the above cases.

Typo, it should read:

/youtube\.com\/watch\?(?:[\w]+=[\w]+\&)*v=([a-z0-9\-_]+)(?:\&[\w]+=[\w]+)*/i

OK, I just ran into this URL: http://www.youtube.com/watch?feature=g-all-esi&v=Ln5K3_8Cxrc

So the regex should read:

/youtube\.com\/watch\?(?:[\w-]+=[\w-]+\&)*v=([a-z0-9\-_]+)(?:\&[\w-]+=[\w-]+)*/i

My list two cents for now :-)

StatusFileSize
new566 bytes

The regexs listed before likely weren't working with WYSIWYGs as the "&" is converted to "&"

Updated the regex from #10 to:

/youtube\.com\/watch\?(?:[\w-]+=[\w-]+\&)*(?:amp;)*v=([a-z0-9\-_]+)(?:\&[\w-]+=[\w-]+)*/i

Adds the optional detection of (?:amp;)

Things are working well for us now.

Patch attached.

Title:Youtube and "featured"YouTube embeds not working properly when "featured" is in the query string
Priority:Normal» Major