相关疑难解决方法(0)

如何使用正则表达式在字符串中查找所有YouTube视频ID?

我有一个用户可以写任何东西的文本域.

例如:

Lorem Ipsum只是虚拟文本. http://www.youtube.com/watch?v=DUQi_R4SgWo 印刷和排版行业.自16世纪以来,Lorem Ipsum一直是业界标准的虚拟文本,当时一台未知的打印机采用了类型的厨房,并将其拼凑成一本类型的样本.它不仅存在了五个世纪,而且还延续了电子排版,基本保持不变. http://www.youtube.com/watch?v=A_6gNZCkajU&feature=relmfu 它在20世纪60年代推出了包含Lorem Ipsum段落的Letraset表格,最近还发布了包括Lorem Ipsum版本在内的Aldus PageMaker等桌面出版软件.

现在我想解析它并查找所有YouTube视频网址及其ID.

知道它是如何工作的吗?

php regex youtube

91
推荐指数
3
解决办法
4万
查看次数

适用于YouTube ID的正则表达式

我已经看了很多,我已经看到很多方法可以解析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)

javascript regex youtube video

19
推荐指数
2
解决办法
2万
查看次数

获取youtube视频ID为PHP

我目前正在编写一个webapp,其中一些页面严重依赖于能够将正确的youtube视频拉入其中并进行播放.youtube URLS由用户提供,因此通常会带有变体,其中一个可能如下所示:

http://www.youtube.com/watch?v=y40ND8kXDlg

而另一个可能看起来像这样:

http://www.youtube.com/watch/v/y40ND8kXDlg

目前,我可以使用以下代码从后者中提取ID:

function get_youtube_video_id($video_id)
{

    // Did we get a URL?
    if ( FALSE !== filter_var( $video_id, FILTER_VALIDATE_URL ) )
    {

        // http://www.youtube.com/v/abcxyz123
        if ( FALSE !== strpos( $video_id, '/v/' ) )
        {
            list( , $video_id ) = explode( '/v/', $video_id );
        }

        // http://www.youtube.com/watch?v=abcxyz123
        else
        {
            $video_query = parse_url( $video_id, PHP_URL_QUERY );
            parse_str( $video_query, $video_params );
            $video_id = $video_params['v'];
        }

    }

    return $video_id;

}
Run Code Online (Sandbox Code Playgroud)

如何处理使用?v版本而不是/v/版本的URL ?

php youtube url get parse-url

4
推荐指数
2
解决办法
2万
查看次数

使用Jquery&.match()获取youtube视频ID

只需要一点推动,因为我几乎可以工作.

我想为jquery提供一个URL,并让它除了视频网址之外.

这是我的代码:

 var url = 'http://www.youtube.com/watch?v=bxp8NWvIeSo';   

$results = url.match("[\\?&]v=([^&#]*)");

alert($results);

  });
Run Code Online (Sandbox Code Playgroud)

我把它作为输出 -

?V = bxp8NWvIeSo,bxp8NWvIeSo

当我只想要的时候

bxp8NWvIeSo

javascript youtube jquery match

2
推荐指数
1
解决办法
4460
查看次数

从 html 代码获取 youtube 视频 ID

我有这样的html

<iframe width="560" height="315" src="http://www.youtube.com/embed/Wa6CA3YqV2Q" frameborder="0" allowfullscreen></iframe>
Run Code Online (Sandbox Code Playgroud)

如何Wa6CA3YqV2Q使用正则表达式获取视频 ID ?还有其他方法可以实现这一目标吗?

UPD:我使用过 Nokogiri,我设法获得http://www.youtube.com/embed/Wa6CA3YqV2Q了具有此链接的视频的 id,那么我如何获得 id?

ruby regex youtube ruby-on-rails

2
推荐指数
1
解决办法
1969
查看次数

仅从youtube的网址中获取视频ID

如何仅从youtube的网址中获取视频ID?

例如,

http://www.youtube.com/watch?v=aPm3QVKlBJg

有时URL会在'v'之后包含其他信息

http://www.youtube.com/watch?v=Z29MkJdMKqs&feature=grec_index

但我不想要其他信息,只是视频ID.

我只能想到使用爆炸,

$url  = "http://www.youtube.com/watch?v=aPm3QVKlBJg";
$pieces = explode("v=", $url);
Run Code Online (Sandbox Code Playgroud)

但如何清理这样的URL?

http://www.youtube.com/watch?v=Z29MkJdMKqs&feature=grec_index

php youtube explode

1
推荐指数
1
解决办法
2035
查看次数

我怎样才能抓住我想要的文字 - PHP

所以我有这个RSS文件,我正试图从中获取URL的一部分.所以这就是我尝试过的(这是行不通的).

我有这个网址,我可以轻松搞定:

http://www.youtube.com/watch?v=tUPjxGmh9i8&feature=youtube_gdata
Run Code Online (Sandbox Code Playgroud)

我试过$link = ltrim($link, 'http://www.youtube.com/watch?v=');在PHP和一个$link = rtrim($trim, '&feature=youtube_gdata');

它返回"UPjxGmh9i8".它切断了前面的"t".PHP.net文档页面对我来说并不是最容易阅读和解释的,但我假设ltrim()和rtrim()的第二个参数中的任何单个字符都被取出,这不是我想要的.是否有其他解决方案我可以用来只抓取我想要的文字?

任何帮助是极大的赞赏.

php

1
推荐指数
1
解决办法
90
查看次数

YouTube网址正式版

可能重复:正则
表达式解析youtube yid

你可能认为不是另一个,但在这里我有一个jquery正则表达式,我觉得它在大多数url上工作得很好在底部的一个例子:

http://www.youtube.com/watch?v=0zM3nApSvMg&feature=feedrec_grec_index
http://www.youtube.com/user/IngridMichaelsonVEVO#p/a/u/1/QdK8U-VIH_o
http://www.youtube.com/v/0zM3nApSvMg?fs=1&amp;hl=en_US&amp;rel=0
http://www.youtube.com/watch?v=0zM3nApSvMg#t=0m10s
http://www.youtube.com/embed/0zM3nApSvMg?rel=0
http://www.youtube.com/watch?v=0zM3nApSvMg
http://youtu.be/0zM3nApSvMg
Run Code Online (Sandbox Code Playgroud)

正则表达式

/^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/
Run Code Online (Sandbox Code Playgroud)

但是这不能从下面的url中提取id(在这个例子中id是pa14VNsdSYM)

http://www.youtube.com/watch?feature=endscreen&NR=1&v=pa14VNsdSYM
Run Code Online (Sandbox Code Playgroud)

如何使用正则表达式我可以从网址中提取id,如上面的那个.

javascript regex youtube url jquery

1
推荐指数
1
解决办法
3219
查看次数

使用str_replace用php替换文本

可能重复:
使用preg_match解析youtube
视频ID仅从youtube的网址中获取视频ID

我现在使用这样的东西,但是我收到了很多错误......

$video_id = $_GET['url'];

$video_id = str_replace('http://www.youtube.com/watch?v=','',$video_id);
$video_id = str_replace('&feature=related','',$video_id);
$video_id = str_replace('&feature=fvwrel','',$video_id);
$video_id = str_replace('&hd=1','',$video_id);
$video_id = str_replace('&feature=relmfu','',$video_id);
$video_id = str_replace('&feature=channel_video_title','',$video_id);
$video_id = str_replace('&feature=list_related','',$video_id);
$video_id = str_replace('&playnext=1','',$video_id);
$video_id = str_replace('_player','',$video_id);
Run Code Online (Sandbox Code Playgroud)

问题是youtube有'&feature ='和其他人的多个url变量

我想从youtube网址中提取的唯一内容是唯一的视频ID

例如://www.youtube.com/watch?v = lgT1AidzRWM&feature = related

在id或之前没有任何内容

有人可以帮我搞定吗?

php str-replace

0
推荐指数
1
解决办法
652
查看次数

从URL w/PHP获取YouTube视频ID

我正在尝试创建一个函数,该函数从Wordpress自定义字段调用值("_videourl"表示YouTube视频网址),然后使用PHP修剪将其缩小为YouTube视频ID.我发现了一个javascript函数,可以将URL减少到ID,但我不知道我怎么能将它转换成php(下面的函数):

     function youtubeIDextract(url) 
     { 
     var youtube_id; 
     youtube_id = url.replace(/^[^v]+v.(.{11}).*/,"$1"); 
     return youtube_id; 
     }
Run Code Online (Sandbox Code Playgroud)

这个PHP函数将在循环中使用,所以我我必须使用变量,但我真的只是一个菜鸟,所以我不知道该怎么做.任何人都可以通过分享他们的编码专业知识来帮助我创建PHP函数吗?

编辑:解决

经过一些实验,我找到了解决方案.我想返回并发布它,以便其他有需要的人可以从某个地方开始.

function getYoutubeId($ytURL) 
    {
        $urlData = parse_url($ytURL);
        //echo '<br>'.$urlData["host"].'<br>';
        if($urlData["host"] == 'www.youtube.com') // Check for valid youtube url
        {
            $ytvIDlen = 11; // This is the length of YouTube's video IDs

            // The ID string starts after "v=", which is usually right after 
            // "youtube.com/watch?" in the URL
            $idStarts = strpos($ytURL, "?v=");

            // In case the "v=" is NOT right after the "?" (not …
Run Code Online (Sandbox Code Playgroud)

php regex youtube wordpress function

-1
推荐指数
1
解决办法
6638
查看次数