0

我致力于将 YouTube 视频 URL 转换为嵌入 HTML 代码的功能,该功能使用 iframe 用于社交网络脚本,效果很好。但是,当有人发布多个视频链接时,这是一个真正的破坏,并且有多个嵌入视频。

function YoutubeURLtoEmbed {
    $search = '#<a(.*?)(?:href="https?://)?(?:www\.)?(?:youtu\.be/|youtube\.com(?:/embed/|/v/|/watch?.*?v=))([\w\-]{10,12}).*<\/a>#x';
    $replace = '<iframe width="500" height="300" src="http://www.youtube.com/embed/$2" frameborder="0" allowfullscreen></iframe>';
    $text = preg_replace($search, $replace, $text);

    return $text;
}

我的问题是:有没有办法限制可以转换为嵌入视频的链接数量,并在此限制后返回视频的链接?

感谢您未来的帮助。

4

1 回答 1

0

preg_replace()有第四个参数$limit,用它!

混合preg_replace (混合$pattern ,混合$replacement ,混合$subject [,int $limit = -1 [,int &$count ]])

因此,例如,如果您只想替换前 3 次出现,您可能会使用:

$text = preg_replace($search, $replace, $text, 3);

于 2013-11-11T21:26:43.477 回答