我正在编写一个程序来播放来自互联网的视频。
为了让用户获得视频,他们必须在 EG https://www.youtube.com/watch?v=5xniR1GN69U中粘贴一个 URL,该 URL 有效,但这个https://www.youtube.com/watch?feature= c4-overview&list=UUOYWgypDktXdb-HfZnSMK6A&v=5xniR1GN69U dosnt
这是我当前的代码
我如何从 url 中获取 v 变量
我正在编写一个程序来播放来自互联网的视频。
为了让用户获得视频,他们必须在 EG https://www.youtube.com/watch?v=5xniR1GN69U中粘贴一个 URL,该 URL 有效,但这个https://www.youtube.com/watch?feature= c4-overview&list=UUOYWgypDktXdb-HfZnSMK6A&v=5xniR1GN69U dosnt
这是我当前的代码
我如何从 url 中获取 v 变量
您的查询字符串看起来像"?v=5xniR1GN69U"
第一次和"?feature=c4-overview&list=UUOYWgypDktXdb-HfZnSMK6A&v=5xniR1GN69U"
第二次。您可以通过简单地调试和检查您的变量自己弄清楚这一点,因为它甚至没有到达 if 块中的代码......制作屏幕截图并不能帮助人们找出您的代码有什么问题。
您可能想使用正则表达式来解析 idRegex.Match(str, "v=(\w+)").Groups(1).Value
Just request the parameter v?
Request("v")
or
Request.Querystring("v")
EDIT
If in winforms. You can apply as suggested by @Markus
Try it like this
Dim querystring As String = url.Query
Dim myMatches As MatchCollection
Dim MyRegEx As New Regex("v=+(\w+)")
myMatches = MyRegEx.Matches(querystring)
For Each Row In myMatches
AxShockFlashMovie1.Movie = "https://www.youtube.com/v/" & Row.ToString() & ""
Next
You will also need to include
Imports System.Text.RegularExpressions
我过去曾使用过HttpUtility.ParseQueryString 来做类似的事情。不要忘记 youtube 还提供带有http://youtu.be/的 URL 的小版本???