YouTube の埋め込み URL から YouTube の ID/URL を取得する必要があります。正規表現 (正規表現である必要はありません) の経験があまりないため、埋め込み URL から URL を取得するのに苦労しています。それを行う最も簡単な方法は誰ですか?
質問する
1841 次
1 に答える
0
あなたの例は、完全な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;
于 2012-06-21T15:05:44.720 に答える