0
我需要從youtube嵌入網址獲取youtube id/url。沒有太多的正則表達式(不必是正則表達式)的經驗,我很難從嵌入網址中獲取URL。 有沒有人最簡單的方法是做什麼?從Youtube上獲取Youtube ID在C#中嵌入網址#
我需要從youtube嵌入網址獲取youtube id/url。沒有太多的正則表達式(不必是正則表達式)的經驗,我很難從嵌入網址中獲取URL。 有沒有人最簡單的方法是做什麼?從Youtube上獲取Youtube ID在C#中嵌入網址#
您的例子並不似乎是一個完整的YouTube視頻ID。據我瞭解,YouTube視頻ID的長度爲11個字符。這就是說,我修改了你的示例嵌入URL爲11個字符(通過在末尾加1),並使用XML和你的問題的評論(stackoverflow.com/a/1773972/56778)中引用的正則表達式組合來執行以下操作:
var xmlFrag = @"<object width='530' height='319'>
<param name='movie' value='**http://www.youtube.com/v/973r7347&hl=en_US&fs=1&rel=0**' />
<param name='allowFullScreen' value='true' />
<param name='allowscriptaccess' value='always' />
<embed src='http://www.youtube.com/v/973r7347111&hl=en_US&fs=1&rel=0' type='application/x-shockwave-flash' allowscriptaccess='always' allowfullscreen='true' width='530' height='319'></embed>
</object>";
var doc = new XmlDocument();
doc.LoadXml(xmlFrag);
var match = Regex.Match(doc.SelectSingleNode("/object/embed").Attributes["src"].Value,
"^http://(?<domain>([^./]+\\.)*youtube\\.com)(/v/|/watch\\?v=)(?<videoId>[A-Za-z0-9_-]{11})", RegexOptions.IgnoreCase);
String youtubeId;
if (match.Success)
youtubeId = match.Groups[4].Value;
請你可以爲我複製/粘貼幾行代碼 – HatSoft
一些示例網址會有所幫助。 – Qtax
這很奇怪。我添加了嵌入網址,但由於某種原因不起作用。確定發佈在pastebin中。 – sanjeev40084