【问题标题】:youtube link regexyoutube链接正则表达式
【发布时间】:2010-12-28 10:43:29
【问题描述】:

我正在尝试使所有 youtube 链接都能正常工作,但 youtube.com/v/videoid 除外

only watch?v= 正在使用此正则表达式,任何帮助都非常有用。

/http:\/\/(?:youtu\.be\/|(?:[a-z]{2,3}\.)?youtube\.com\/watch(?:\?|#\!)v=)([\w-]{11}).*/i

【问题讨论】:

    标签: php regex youtube


    【解决方案1】:

    正则表达式库网站是一个很好的来源。试试下面的链接:http://www.regexlib.com/Search.aspx?k=youtube

    【讨论】:

      【解决方案2】:
      /((http:\/\/)?(?:youtu\.be\/|(?:[a-z]{2,3}\.)?youtube\.com\/v\/)([\w-]{11}).*|http:\/\/(?:youtu\.be\/|(?:[a-z]{2,3}\.)?youtube\.com\/watch(?:\?|#\!)v=)([\w-]{11}).*)/i
      

      【讨论】:

        【解决方案3】:

        这是我的第一个贡献,希望对您有所帮助。

        $url = "https://www.youtube-nocookie.com/embed/lCpaCAfhCH4";
        
        if (preg_match("/^((https?:\/\/)?(w{0,3}\.)?youtu(\.be|(be|be-nocookie)\.\w{2,3}\/))((watch\?v=|v|embed)?[\/]?(?P<video>[a-zA-Z0-9-_]{11}))/si", $url, $matches)) {
        
        echo $matches['video'];
        
        }
        

        此正则表达式适用于任何 youtube url 格式(长、短、嵌入、安全等)

        谢谢!

        【讨论】:

          【解决方案4】:

          使用正则表达式。这是获取视频 ID 的更好方法

          <?php
          $url = "http://www.youtube.com/watch?v=KkMDCCdjyW8&feature=relate";
          parse_str( parse_url( $url, PHP_URL_QUERY ), $my_array_of_vars );
          echo $my_array_of_vars['v'];    
            // Output: KkMDCCdjyW8
          ?>
          

          working here

          【讨论】:

            猜你喜欢
            • 2011-04-12
            • 1970-01-01
            • 2011-05-13
            • 1970-01-01
            • 2019-04-25
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多