我正在为YouTube视频制作一个bbcode。用户可以将视频作为bbcode发布,例如[youtube] http://www.youtube.com/watch?v=ihK2pPcDSHM [/ YouTube的。接下来,它会将其转换为html代码。但不是视频,我还想显示视频的图像。所以,我不喜欢这样写道:如何在preg的正则表达式中使用substr替换
$string = preg_replace("~\[yt]http://www.youtube.com/watch\?v=(.*)\[/yt]~Uis","<img src=\"http://img.youtube.com/vi/\\1/0.jpg\" />", $string);
它显示的图像,但是,当有人提出一个网址,如:
http://www.youtube.com/watch?v=ihK2pPcDSHM&feature=channel
然后将图像URL成为http://img.youtube.com/vi/ihK2pPcDSHM&feature=channel1/0.jpg
这不会导致有效的图像。我正在尝试将\\1
更改为".substr('\\1', 0,11)."
,但它没有任何结果。
有没有解决这个问题的建议?谢谢!
感谢,但这个结果返回只有一个字母。所以图片的url变成了http://img.youtube.com/vi/l/0.jpg – 2010-12-12 17:35:16
@ user539649:你确定你在做一个不区分大小写的匹配吗? – Gumbo 2010-12-12 17:39:00
嗯..你是什么意思? :我只想显示图像。我在代码中做了什么错误? – 2010-12-12 17:43:01