作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
由于以下回答,我们目前在我们的论坛上将所有youtube链接替换为嵌入式对象:
How do I find all YouTube video ids in a string using a regex?
麻烦的是,许多用户希望将链接直接发布到视频中的特定时间。例如。:
http://www.youtube.com/watch?v=jECIv7zlD4c&feature=player_embedded#t=1m15s
请注意“#t = 1m15s”
根据youtube文档,当您将开始时间嵌入视频中时,需要使用“开始”参数,因此不能使用“1m15s”字符串。 “开始”是基于秒数的值。
<object width="425" height="344">
<param name="movie" value="http://www.youtube.com/v/jECIv7zlD4c?fs=1&start=75"</param>
<param name="allowFullScreen" value="true"></param>
<param name="allowScriptAccess" value="always"></param>
<embed src="http://www.youtube.com/v/jECIv7zlD4c?fs=1&start=75"
type="application/x-shockwave-flash" allowscriptaccess="always" width="425" height="344">
</embed>
</object>
最佳答案
preg_replace
用于操作字符串。在您的情况下,您必须先进行一些更换。
也许您应该尝试改用preg_replace_callback
,给出将进行计算的回调(X * 60 + Y)。
function sumMinSec($matches)
{
$minSecMatches = array();
preg_match("/([0-9]*)m([0-9]*)s/", $matches[0], $minSecMatches);
return "&start=" . ($minSecMatches[1] * 60 + $minSecMatches[2]);
}
$url = "http://www.youtube.com/v/jECIv7zlD4c?fs=1#1m23s";
echo preg_replace_callback("/#([0-9]*m[0-9]*s)/", "sumMinSec", $url);
http://www.youtube.com/v/jECIv7zlD4c?fs=1&start=83
关于php - 带有开始计时的youtube嵌入式视频pregreplace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15147993/
我希望能够在单个 Zend Form 元素上添加多个 PregReplace 过滤器。我可以使用以下代码添加一个 PregReplace 过滤器: $word = new Zend_Form_Elem
我是一名优秀的程序员,十分优秀!