【问题标题】:How to approach a youtube's embed code liberation如何实现 youtube 的嵌入代码解放
【发布时间】:2010-08-13 13:51:30
【问题描述】:

我有一个基于 php/mySQL 的网站,其中发布者在特定数据库列中插入了大量 youtube 视频,复制/粘贴 youtube 嵌入代码。代码的差异很大,反映了谷歌在一段时间内所做的变化。不同大小的播放器窗口是主要的变化。现在我需要统一所有的窗户,但我不知道从哪里开始。我需要达到的是类似于正则表达式的东西,以消除各种条目中所有不必要的代码(即,将所有嵌入代码转换到相应的 youtube url 中?),然后创建一个脚本来生成播放器代码运行时...... 一些帮助,看看从哪里开始? 谢谢!

【问题讨论】:

    标签: php mysql youtube


    【解决方案1】:

    新的完整解决方案:

    <?php
    //your bad code which you want to sanitize
    $BadCode = '<object width="640" height="385">
    <param name="movie" value="http://www.youtube.com/v/TvJsRX9SKUo?fs=1&hl=it_IT"></param>
    <param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param>
    <embed src="http://www.youtube.com/v/TvJsRX9SKUo?fs=1&hl=it_IT" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed>
    </object>';
    
    
    //Get Youtube Video ID
    preg_match('#(?<=youtube\.com/v/)\w+#', $BadCode, $matches);
    $VideoID = $matches[0];
    
    
    //New Correct and consistent embed code template. Create whatever consistent template you want. Then all your videos will follow this template. Change the place where video-id appears as [VIDEOID]
    $template = '<object type="application/x-shockwave-flash" style="width:450px; height:366px;" data="http://www.youtube.com/v/[VIDEOID]?showsearch=0&amp;fs=1">
    <param name="movie" value="http://www.youtube.com/v/[VIDEOID]?showsearch=0&amp;fs=1" /><param name="allowFullScreen" value="true" />
    </object>';
    
    //Insert our VideoID into this template.
    $GoodCode = str_replace('[VIDEOID]', $VideoID, $template);
    
    //Display code for testing
    echo $GoodCode;
    
    //Update your database table (please change variables yourself)
    //mysql_query("update tablename set YoutubeCode = '".$GoodCode."' where ID={$ID}");
    ?>
    

    旧的总结答案:

    [用于提取视频 ID 的正则表达式]。获得视频ID后,您就有了视频ID。使用此 ID 为您的所有视频生成干净一致的代码。然后,更新数据库。

    【讨论】:

    • 我需要不是从 youtube 链接中提取代码,而是从嵌入代码中提取代码。看看这个:youtube.com/v/TvJsRX9SKUo?fs=1&hl=it_IT"></… name="allowFullScreen" value="true"> youtube.com/v/TvJsRX9SKUo?fs=1&hl=it_IT" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height=" 385">
    • @TheDarkMist ,我已经完善了我的答案。现在看看吧。
    猜你喜欢
    • 1970-01-01
    • 2013-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-22
    相关资源
    最近更新 更多