媒体标记在Invision Power Board中修改YouTube链接所需的正则表达式代码

时间:2014-01-11 23:41:09

标签: regex youtube invision-power-board

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>

1 个答案:

答案 0 :(得分: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