我已经看了很多,我已经看到很多方法可以解析youtube的网址上的视频ID,但是,没有一个方法可以匹配YouTube网址所能提供的各种格式.我已经尝试过搞乱使用正则表达式在之前的帖子中,但似乎没有任何效果.
我发现最接近所有URL格式的帖子是这样的:如何使用正则表达式在字符串中找到所有YouTube视频ID?
但是,这不适用于:http: //www.youtube.com/sandalsResorts#p/c/54B8C800269D7C1B/0/FJUvudQsKCM
我在Javascript中这样做.有人可以帮忙吗?!
Thanx提前.
我正在使用的当前URL格式和脚本:
var url = "http://www.youtube.com/sandalsResorts#p/c/54B8C800269D7C1B/0/FJUvudQsKCM";
//var url = "http://www.youtube.com/user/Scobleizer#p/u/1/1p3vcRhsYGo";
//var url = "http://youtu.be/NLqAF9hrVbY";
//var url = "http://www.youtube.com/embed/NLqAF9hrVbY";
//var url = "https://www.youtube.com/embed/NLqAF9hrVbY";
//var url = "http://www.youtube.com/v/NLqAF9hrVbY?fs=1&hl=en_US";
//var url = "http://www.youtube.com/watch?v=NLqAF9hrVbY";
//var url = "http://www.youtube.com/user/Scobleizer#p/u/1/1p3vcRhsYGo";
//var url = "http://www.youtube.com/ytscreeningroom?v=NRHVzbJVx8I";
//var url = "http://www.youtube.com/user/Scobleizer#p/u/1/1p3vcRhsYGo";
//var url = "http://www.youtube.com/watch?v=JYArUl0TzhA&feature=featured";
var videoID = url.match(/(?:youtu\.be\/|youtube\.com(?:\/embed\/|\/v\/|\/watch\?v=|\/user\/\S+|\/ytscreeningroom\?v=))([\w\-]{10,12})\b/)[1];
alert(videoID);
Run Code Online (Sandbox Code Playgroud) 在我看的每个地方,帖子告诉我用他们的html实体来逃避xml特殊字符,但我仍然得到XML解析错误.我收到的错误信息是"未识别的实体",它出现在& 和® 标记(没有空格).我该如何解决这个问题,为什么这仍然会引发错误?
<?xml version="1.0" encoding="UTF-8"?>
<maps>
<location id="tx">
<item label="Lobby & Entrance" xpos="125" ypos="112" />
<item label="Restaurant & Bar" xpos="186" ypos="59" />
<item label="Swimming Pool" xpos="183" ypos="189" />
<item label="Nautilus Gym®" xpos="154" ypos="120" />
</location>
</maps>
Run Code Online (Sandbox Code Playgroud)