忽略视频网址中的换行符

罗宾

我想用iframe替换YouTube网址。因此,我使用的是从不同网站复制的正则表达式,该正则表达式从YouTube网址获取视频ID。

它并不完美。如果有换行符,则不会占用整个视频ID。另外,它也不&feature=share来自URL。

例如:

输入:

http://www.youtube.com/attribution_link?a=_NDwn20sMog&u=/watch?v=zl-GC1
6vBm4&feature=share

正则表达式:

/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/\S*(?:(?:\/e(?:mbed))?\/|attribution_link\?a=.+?watch.+?v(?:%|=)|watch\?(?:\S*?&?v\=))|youtu\.be\/)([a-zA-Z0-9_-]{6,11})/i

输出:

Array
(
    [0] => zl-GC1
)
Array
(
    [0] => http://www.youtube.com/attribution_link?a=_NDwn20sMog&u=/watch?v=zl-GC1
)
J0e3gan

通过擦洗可能的空白然后匹配来简化。

这是我的意思的示例...

<?php 

$test = <<<TEST
http://www.youtube.com/attribution_link?a=_NDwn20sMog&u=/watch?v=zl-GC1
6vBm4&feature=share
TEST;

$test = preg_replace('/\s/', '', $test); // NOTE: Scrub potential whitespace.
// NOTE: (&.*)* added to the end of the original pattern to match the
// rest of the query string if any.
preg_match('/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/\S*(?:(?:\/e(?:mbed))?\/|attribution_link\?a=.+?watch.+?v(?:%|=)|watch\?(?:\S*?&?v\=))|youtu\.be\/)([a-zA-Z0-9_-]{6,11})(&.*)*/', $test, $matches);

var_dump($matches);

?>

...,其输出:

array(3) {
  [0]=>
  string(90) "http://www.youtube.com/attribution_link?a=_NDwn20sMog&u=/watch?v=zl-GC16vBm4&feature=share"
  [1]=>
  string(11) "zl-GC16vBm4"
  [2]=>
  string(14) "&feature=share"
}

您可以在Ideone演示中测试此方法

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

忽略视频网址中的换行符

来自分类Dev

boundingRectWithSize忽略换行符

来自分类Dev

boundingRectWithSize忽略换行符

来自分类Dev

sed忽略换行符

来自分类Dev

如何使textarea不允许或忽略AngularJS中的换行符/换行符/返回

来自分类Dev

用换行符在C中编码网址?

来自分类Dev

用换行符在C中编码网址?

来自分类Dev

如何保留空格但忽略CSS中的换行符?

来自分类Dev

忽略git-diff中的任何空格或换行符

来自分类Dev

Html.fromHtml中的换行符被忽略

来自分类Dev

如何在文件中搜索文本而忽略换行符?

来自分类Dev

如何捕获换行符并忽略 antlr 中的 \n

来自分类Dev

在python中解析字符串:如何在忽略引号内的换行符的同时拆分换行符

来自分类Dev

在python中解析字符串:如何在忽略引号内的换行符的同时拆分换行符

来自分类Dev

jsx表忽略换行符

来自分类Dev

Textarea忽略开头的多个换行符

来自分类Dev

忽略tmLanguage定义内的换行符

来自分类Dev

如何忽略拆分功能的换行符

来自分类Dev

使用fscanf()忽略换行符

来自分类Dev

Ajax 变量忽略换行符

来自分类Dev

视频标签未显示视频网址

来自分类Dev

视频标签未显示视频网址

来自分类Dev

expression()中的换行符?

来自分类Dev

sqlplus中的换行符

来自分类Dev

输出中的换行符

来自分类Dev

SelectPdf 中的换行符

来自分类Dev

如何忽略HTML和CSS中的2条换行符?

来自分类Dev

Excel to Javascript-忽略从Excel复制的列中的换行符

来自分类Dev

如何使用Perl忽略多行字符串中的最后一个换行符