0

IPBoard 已经为常规 YouTube 链接提供了相关的正则表达式代码。我需要有关通过订阅更新电子邮件发送的另一种 YouTube 链接的帮助。以下是一些示例链接:

http://youtube.com/attribution_link?a=r_FgjB-RKNo&u=/watch%3Fv%3DB0_X8zWJd0Q%26feature%3Dem-uploademail (B0_X8zWJd0Q)
http://youtube.com/attribution_link?a=1crTn2Lx38I&u=/watch%3Fv%3DHhebhh2s5d4%26feature%3Dem-uploademail (Hhebhh2s5d4)
http://youtube.com/attribution_link?a=_zMgiznzBto&u=/watch%3Fv%3D-kaoCPvUHJM%26feature%3Dem-uploademail (-kaoCPvUHJM)
http://youtube.com/attribution_link?a=F8VReY1sT0A&u=/watch%3Fv%3D5RLM9rk0Q8s%26feature%3Dem-uploademail (5RLM9rk0Q8s)

末尾括号中的代码是相关的 YouTube 视频 ID。attribution_link?a=似乎包含不同视频的随机数字。

这是 IPBoard 后端显示的内容:

常规 YouTube 链接的现有正则表达式结构:

http(?:s)?://(www.)?youtube.com/watch\?(\S+?)?v=([\d\w-_]+?)(&\S+?)?

这转换为:

<iframe id="ytplayer" class="EmbeddedVideo" type="text/html" width="640" height="390" src="http://youtube.com/embed/$3?html5=1&fs=1" frameborder="0" allowfullscreen webkitallowfullscreen /></iframe>

IPBoard 指南::

媒体替换匹配

示例链接:http://www.test.com/23423/

匹配:http://www.test.com/{1}/

媒体替换 HTML

You can use $1, $2, etc as variable replacements.

示例链接:<a href="http://www.testm.com/$1/">$1</a>

结果:<a href="http://www.testm.com/23423/">23423</a>

4

1 回答 1

0

更新表达式以处理嵌入的 urlencoded 链接:

youtube.*?watch.*?v(?:%25|=)([\d\w-_]+)

示例:http ://regex101.com/r/fO6qE5


http(?:s)?:\/\/(?:www\.)?youtube\.com\/.*?watch%3Fv%([\d\w-_]+)

示例:http ://regex101.com/r/cX9rP2

于 2014-01-11T23:52:09.087 回答