【问题标题】:Youtube id from database row来自数据库行的 Youtube id
【发布时间】:2013-10-28 16:39:36
【问题描述】:

我一直在尝试从 youtube url 中提取 youtube id,最后我从另一个线程中找到了这段代码。

<?

    preg_match(
        '/[\\?\\&]v=([^\\?\\&]+)/',
        'http://www.youtube.com/watch?v=0mVck88W01I',
        $matches
    );


?>

当我写 echo $matches[1]; 时,id 会打印出来

问题是我希望它在我的数据库中找到来自$row[link] 的链接,当我用echo "$row[link]"; 替换网址时它不起作用。它只适用于 youtube 网址?

我 100% 使用 $row[link],因为我在脚本的其他部分使用它并且正在打印链接

我的问题是如何让它打印数据库中每一行的 youtube id?

【问题讨论】:

    标签: php regex youtube


    【解决方案1】:

    您不需要正则表达式。这可以使用parse_url() 轻松完成:

    function getVideoID($url) {
        $parts = parse_url($url);
        list(,$id) = explode('=', $parts['query']);
        return $id;
    }
    

    用法:

    $link = 'http://www.youtube.com/watch?v=0mVck88W01I';
    echo getVideoID($link);
    

    输出:

    0mVck88W01I
    

    Demo!

    【讨论】:

    • 它适用于 url youtube.com/watch?v=0mVck88W01I 但是当我希望它使用 $row[link] 从我的 mysql 数据库中打印出我的 url 时它不起作用
    猜你喜欢
    • 1970-01-01
    • 2013-09-12
    • 2021-03-24
    • 2017-05-01
    • 2016-10-04
    • 1970-01-01
    • 1970-01-01
    • 2021-06-29
    • 1970-01-01
    相关资源
    最近更新 更多