Tôi đang sao chép một hàm sẽ nhận URL youtube/vimeo và trả về trang web video (vimeo/yt) cũng như id video.Regex để trích xuất tên miền và id video từ youtube/vimeo url
Dưới đây là những gì tôi có cho đến nay: http://jsfiddle.net/csjwf/181/
<strong>Result:</strong>
<div id="result"></div>
function parseVideoURL(url) {
url.match(/^http:\/\/(?:.*?)\.?(youtube|vimeo)\.com\/(watch\?[^#]*v=(\w+)|(\d+)).+$/);
return {
provider : RegExp.$1,
id : RegExp.$1 == 'vimeo' ? RegExp.$2 : RegExp.$3
}
}
var result = document.getElementById("result");
var video = parseVideoURL("http://www.youtube.com/watch?v=PQLnmdOthmA&feature=feedrec_grec_index");
result.innerHTML = "Provider: " + video.provider + "<br>ID: " + video.id;
var video = parseVideoURL("http://vimeo.com/22080133");
result.innerHTML += "<br>--<br>Provider: " + video.provider + "<br>ID: " + video.id;
Output:
Result: Provider: youtube ID: PQLnmdOthmA -- Provider: vimeo ID: 2208013
Tuy nhiên, hãy chú ý cách cho vids Vimeo, nếu url kết thúc trong ID, số cuối cùng luôn bị cắt. Nếu bạn thêm dấu gạch chéo vào cuối url vimeo thì id sẽ được kéo hoàn toàn.
Tôi sẽ chỉ để [this] (http://gskinner.com/RegExr/) tại đây. – Shea
@andrewjackson Tôi thích [this] (http://regex.larsolavtorvik.com/) một. – Petah
@andrew .. vâng tôi đã sử dụng công cụ đó trước đây, và nó là def cho một người hiểu regex .. –