За последние 24 часа нас посетили 40127 программистов и 1273 робота. Сейчас ищут 1374 программиста ...

Регулярные выражения или что ЭТО?

Тема в разделе "PHP для новичков", создана пользователем Freakmeister, 14 мар 2011.

  1. Freakmeister

    Freakmeister Активный пользователь

    С нами с:
    20 дек 2009
    Сообщения:
    888
    Симпатии:
    5
    Установил на форум phpBB3 мод, который хавает видео сразу с нескольких сайтов. Вот его код полностью:

    PHP:
    1. <?php
    2.   /**
    3.    *
    4.    * @package Video BBCode
    5.    * @version 1.0.3
    6.    * @copyright (c) Fraev 2009, sevenalive 2010
    7.    * @license [url=http://opensource.org/licenses/gpl-license.php]http://opensource.org/licenses/gpl-license.php[/url] GNU Public License
    8.    *
    9.    */
    10.   define('IN_PHPBB', true);
    11.   $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
    12.   $phpEx = substr(strrchr(__FILE__, '.'), 1);
    13.   include($phpbb_root_path . 'common.' . $phpEx);
    14.  
    15.   // Start session management
    16.   $user->session_begin();
    17.   $auth->acl($user->data);
    18.   $user->setup('mods/video_bbcode');
    19.  
    20.   function get_video($link)
    21.   {
    22.       global $user, $config, $phpbb_root_path, $phpEx;
    23.      
    24.       $values = array(
    25.          
    26. //Not working right now:
    27.  
    28. // myspace.com - [url=http://www.myspace.com/video/nbc-today-show/u-s-war-games-meant-as-warning-to-north/107122236]http://www.myspace.com/video/nbc-today- ... /107122236[/url]
    29. /*  array('myspace.com','video/%/%$%0', '<object width="425px" height="360px" ><param name="allowScriptAccess" value="always"/><param name="allowFullScreen" value="true"/><param name="wmode" value="transparent"/><param name="movie" value="http://mediaservices.myspace.com/services/media/embed.aspx/m={ID_VIDEO},t=1,mt=video"/><embed src="http://mediaservices.myspace.com/services/media/embed.aspx/m={ID_VIDEO},t=1,mt=video" width="425" height="360" allowFullScreen="true" type="application/x-shockwave-flash" wmode="transparent" allowScriptAccess="always"></embed></object>'),*/
    30.          
    31. // break.com - [url=http://www.break.com/index/internet-cafe-ninja.html]http://www.break.com/index/internet-cafe-ninja.html[/url]
    32. /*  array('/(break\.com)/i', "<object width=\"464\" height=\"392\"><param name=\"movie\" value=\"http://embed.break.com/{DOWNLOAD%/\"http\:\/\/embed\.break\.com\/(.*?)\"/ism%}\"></param><param name=\"allowScriptAccess\" value=\"always\"></param><embed src=\"http://embed.break.com/{DOWNLOAD%/\"http\:\/\/embed\.break\.com\/(.*?)\"/ism%}\" type=\"application/x-shockwave-flash\" allowScriptAccess=always width=\"464\" height=\"392\"></embed></object>"),*/
    33.  
    34. // gamecreds.com - [url=http://www.gamecreds.com/video/nail-adrenaline-rush-teaser-R/SLQIa]http://www.gamecreds.com/video/nail-adr ... er-R/SLQIa[/url]
    35. /*  array('\gamecreds\.com.*video\/.*(.\/.*)/i', '<object width="640" height="360"><param name="movie" value="http://st1.gamecreds.com/images/swf/player-embed.swf"></param><param name="FlashVars" value="vidID2={ID_VIDEO}&uVid={LINK}&cUrl0=http://www.gamecreds.com/&uImg=http://st2.gamecreds.com/images2/videos/{ID_VIDEO}.jpg"></param><param name="allowFullScreen" value="true"></param><param name="bgcolor" value="#000000"></param><embed type="application/x-shockwave-flash" src="http://st1.gamecreds.com/images/swf/player-embed.swf" FlashVars="vidID2={ID_VIDEO}&uVid={LINK}&cUrl0=http://www.gamecreds.com/&uImg=http://st2.gamecreds.com/images2/videos/{ID_VIDEO}.jpg" width="640" height="360" allowfullscreen="true" bgcolor="#000000"></embed></object>'),*/
    36.          
    37. // hulu.com - [url=http://www.hulu.com/watch/110340/family-guy-table-talk---nicknames]http://www.hulu.com/watch/110340/family ... -nicknames[/url]
    38. /*  array('/hulu\.com.*watch\/([^\/]*)/i', '<object width="512" height="288"><param name="movie" value="{DOWNLOAD%/<link rel="media:video" href="(.*?)"/ism%html_entity_decode}"></param><param name="allowFullScreen" value="true"></param><embed src="{DOWNLOAD%/<link rel="media:video" href="(.*?)"/ism%html_entity_decode}" type="application/x-shockwave-flash" allowFullScreen="true"  width="512" height="288"></embed></object>'),*/
    39.  
    40. // tudou.com - [url=http://www.tudou.com/programs/view/KQ5WFszJoWY/]http://www.tudou.com/programs/view/KQ5WFszJoWY/[/url]
    41.     array('tudou.com', 'view/%$%0', '<embed src="http://www.tudou.com/v/{ID_VIDEO}/v.swf" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" wmode="transparent" width="480" height="400"></embed>'),
    42.          
    43. // youku.com - [url=http://v.youku.com/v_show/id_XMjI1OTc3MzA4.html]http://v.youku.com/v_show/id_XMjI1OTc3MzA4.html[/url]
    44.     array('youku.com', 'v_show/id_%$%0', '<embed src="http://player.youku.com/player.php/sid/{ID_VIDEO}/v.swf" quality="high" width="480" height="400" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash"></embed>'),
    45.  
    46. // twitvid.com - [url=http://www.twitvid.com/YJ3BQ]http://www.twitvid.com/YJ3BQ[/url]
    47.     array('twitvid.com', 'twitvid.com/%$%0', '<object width="425" height="344"><param name="movie" value="http://www.twitvid.com/player/{ID_VIDEO}"></param><param name="allowscriptaccess" value="always"></param><param name="allowFullScreen" value="true"></param><embed type="application/x-shockwave-flash" src="http://www.twitvid.com/player/{ID_VIDEO}" quality="high" allowscriptaccess="always" allowNetworking="all" allowfullscreen="true" wmode="transparent" height="344" width="425"></embed></object>'),
    48.  
    49. // youtube.com - [url=http://www.youtube.com/watch?v=9ixFf4ljuCg]http://www.youtube.com/watch?v=9ixFf4ljuCg[/url]
    50.     array('youtube.com', 'v=%&%0', '<iframe class="youtube-player" type="text/html" width="631" height="385" src="http://www.youtube.com/embed/{ID_VIDEO}" frameborder="0"></iframe>'),
    51.  
    52. // metacafe.com - [url=http://www.metacafe.com/watch/5537784/tron_evolution_trailer/]http://www.metacafe.com/watch/5537784/t ... n_trailer/[/url]
    53.         array('metacafe.com', 'watch/%$%1', '<embed src="http://www.metacafe.com/fplayer/{ID_VIDEO}.swf" width="400" height="345" wmode="transparent" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed>'),
    54.          
    55. // dailymotion.com - [url=http://www.dailymotion.com/video/xfq1tn_favorite-moments-week-11_sport#hp-v-v9]http://www.dailymotion.com/video/xfq1tn ... rt#hp-v-v9[/url]
    56.     array('dailymotion.com', 'video/%$%1', '<iframe frameborder="0" width="480" height="270" src="http://www.dailymotion.com/embed/video/{ID_VIDEO}?width=480&iframe=1&additionalInfos=0&autoPlay=0&hideInfos=0"></iframe>'),
    57.          
    58. // facebook.com - [url=http://www.facebook.com/video/video.php?v=414100981185]http://www.facebook.com/video/video.php?v=414100981185[/url]
    59.         array('facebook.com', 'video/video.php?v=%&%0', '<object width="320" height="240" ><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://www.facebook.com/v/{ID_VIDEO}" /><embed src="http://www.facebook.com/v/{ID_VIDEO}" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="320" height="240"></embed></object>'),
    60.          
    61. // veoh.com - [url=http://www.veoh.com/collection/Funny-Or-Die-Chosen-Ones/watch/v20607299EdkRJsPc#watch%3Dv20320157fFmdC5PF]http://www.veoh.com/collection/Funny-Or ... 57fFmdC5PF[/url]
    62.         array('veoh.com', 'watch/%/', '<object width="410" height="341" id="veohFlashPlayer" name="veohFlashPlayer"><param name="movie" value="http://www.veoh.com/static/swf/webplayer/WebPlayer.swf?version=AFrontend.5.5.3.1072&permalinkId={ID_VIDEO}&player=videodetailsembedded&videoAutoPlay=0&id=anonymous"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.veoh.com/static/swf/webplayer/WebPlayer.swf?version=AFrontend.5.5.3.1072&permalinkId={ID_VIDEO}&player=videodetailsembedded&videoAutoPlay=0&id=anonymous" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="410" height="341" id="veohFlashPlayerEmbed" name="veohFlashPlayerEmbed"></embed></object>'),
    63.          
    64. // gamespot.com - [url=http://www.gamespot.com/ps3/driving/needforspeedhotpursuit/video/6284228/need-for-speed-hot-pursuit-video-review]http://www.gamespot.com/ps3/driving/nee ... deo-review[/url]
    65.     array('gamespot.com', '/video/%&%0/', '<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"  WIDTH=480 HEIGHT=310 id="videoPlayer"><PARAM NAME=movie VALUE="http://image.com.com/gamespot/images/cne_flash/production/eidothea/release/eidothea.swf?w_005_m"><PARAM NAME=scale VALUE="noScale"><PARAM NAME=salign VALUE="lt"><PARAM NAME=quality VALUE=high><PARAM NAME=allowscriptaccess VALUE="always"><PARAM NAME=allowFullScreen VALUE="true"><PARAM NAME=flashvars VALUE="bwr=0&playerMode=embedded&movieAspect=16.9&mapp=embedded_480&gen=1&viewMode=sd&autoPlay=false&paramsXML=http%3A%2F%2Fwww.gamespot.com%2Fpages%2Fvideo_player%2Fxml.php%3Fid%3D{ID_VIDEO}%26mode%3Dembedded%26width%3D480%26height%3D310%26newplayer%3D1%26skin%3DeidotheaEmbedded480_169.xml"><embed  id="mymovie"  width="480"  height="310" flashvars="bwr=0&playerMode=embedded&movieAspect=16.9&mapp=embedded_480&gen=1&viewMode=sd&autoPlay=false&paramsXML=http%3A%2F%2Fwww.gamespot.com%2Fpages%2Fvideo_player%2Fxml.php%3Fid%3D{ID_VIDEO}%26mode%3Dembedded%26width%3D480%26height%3D310%26newplayer%3D1%26skin%3DeidotheaEmbedded480_169.xml" wmode="opaque" allowscriptaccess="always" scale="noScale" salign="lt" allowFullScreen="true" quality="high" name="mymovie" style="" src="http://image.com.com/gamespot/images/cne_flash/production/eidothea/release/eidothea.swf?w_005_m" type="application/x-shockwave-flash"/></embed></OBJECT>'),
    66.          
    67. // vidiac.com - [url=http://vidiac.com/video/Star-Wars-Force-Unleashed-2-Sou]http://vidiac.com/video/Star-Wars-Force-Unleashed-2-Sou[/url]
    68.         array('vidiac.com', 'video/%.%0', '<iframe src="http://www.vidiac.com/video/{ID_VIDEO}/player?layout=&read_more=0" width="420" height="451" frameborder="0" scrolling="no"></iframe>'),
    69.          
    70. // megavideo.com - [url=http://www.megavideo.com/?v=QZ4O9C8P]http://www.megavideo.com/?v=QZ4O9C8P[/url]
    71.     array('megavideo.com', 'v=%?%0', '<object width="640" height="353"><param name="movie" value="http://www.megavideo.com/v/{ID_VIDEO}"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.megavideo.com/v/{ID_VIDEO}" type="application/x-shockwave-flash" allowfullscreen="true" width="640" height="353"></embed></object>'),
    72.          
    73. // vimeo.com - [url=http://vimeo.com/17149916]http://vimeo.com/17149916[/url]
    74.         array('vimeo.com', 'vimeo.com/%$%0', '<iframe src="http://player.vimeo.com/video/{ID_VIDEO}" width="400" height="225" frameborder="0"></iframe>'),
    75.          
    76. // funnyordie.com - [url=http://www.funnyordie.com/videos/a1c04ce68e/i-am-harry-potter?rel=featured]http://www.funnyordie.com/videos/a1c04c ... l=featured[/url]
    77.         array('funnyordie.com', 'videos/%/', '<object width="512" height="328" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" id="ordie_player_{ID_VIDEO}"><param name="movie" value="http://player.ordienetworks.com/flash/fodplayer.swf" /><param name="flashvars" value="key={ID_VIDEO}" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always"></param><embed width="512" height="328" flashvars="key={ID_VIDEO}" allowfullscreen="true" allowscriptaccess="always" quality="high" src="http://player.ordienetworks.com/flash/fodplayer.swf" name="ordie_player_{ID_VIDEO}" type="application/x-shockwave-flash"></embed></object>'),
    78.          
    79. // rutube.ru - [url=http://rutube.ru/tracks/3820040.html?v=e51abe260e70df817f71a33954971dcd]http://rutube.ru/tracks/3820040.html?v= ... 3954971dcd[/url]
    80.         array('rutube.ru', 'v=%&%0', '<OBJECT width="470" height="353"><PARAM name="movie" value="http://video.rutube.ru/{ID_VIDEO}"></PARAM><PARAM name="wmode" value="transparent"></PARAM><PARAM name="allowFullScreen" value="true"></PARAM><EMBED src="http://video.rutube.ru/{ID_VIDEO}" type="application/x-shockwave-flash" wmode="transparent" width="470" height="353" allowFullScreen="true" ></EMBED></OBJECT>'),
    81.  
    82. // keepbusy.net - [url=http://www.keepbusy.net/play.php?id=morphing]http://www.keepbusy.net/play.php?id=morphing[/url]
    83.         array('keepbusy.net', 'id=%&%0', '<object type="application/x-shockwave-flash" data="http://keepbusy.net/swf/video-player.swf?file=http://media1.keepbusy.net/content/{ID_VIDEO}.flv&amp;autostart=false&amp;fullscreen=true&amp;volume=100&amp;searchbar=false&amp;linktarget=_self" width="640" height="380"><param name="movie" value="http://keepbusy.net/swf/video-player.swf?file=http://media1.keepbusy.net/content/{ID_VIDEO}.flv&amp;autostart=false&amp;fullscreen=true&amp;volume=100&amp;searchbar=false&amp;linktarget=_self" /><param name="allowscriptaccess" value="always" /></object>'),
    84.                    
    85. // comedycentral.com - [url=http://www.comedycentral.com/videos/index.jhtml?videoId=312818&title=interstellar-fugitives]http://www.comedycentral.com/videos/ind ... -fugitives[/url]
    86.     array('comedycentral.com', 'videoId=%&%0', '<embed style"display:block" src="http://media.mtvnservices.com/mgid:cms:item:comedycentral.com:{ID_VIDEO}" width="360" height="301" type="application/x-shockwave-flash" wmode="transparent" allowFullscreen="true" flashvars="autoPlay=false" allowscriptaccess="always" allownetworking="all"></embed>'),
    87.          
    88. // tu.tv - [url=http://tu.tv/videos/la-cuerda-invisible-pero-el-de-la-bici-e]http://tu.tv/videos/la-cuerda-invisible ... -la-bici-e[/url]
    89.         array('tu.tv', '', '{DOWNLOAD}%<input name="html" id="html" type="text" readonly="true" value=\'%<br />'),
    90.          
    91. // godtube.com - godtube.com
    92.         array('godtube.com', 'watch/?v=%&%0', '<script type="text/javascript" src="http://www.godtube.com/embed/source/{ID_VIDEO}/400/255/true.js"></script>'),
    93.          
    94. // myvideo.de - [url=http://www.myvideo.de/watch/7837430/Office_Massacre_LoooL]http://www.myvideo.de/watch/7837430/Off ... acre_LoooL[/url]
    95.         array('myvideo.de', 'watch/%&%0', "<object style='width:470px;height:285px;' width='470' height='285'><param name='movie' value='http://www.myvideo.de/movie/{ID_VIDEO}'></param><param name='AllowFullscreen' value='true'></param><param name='AllowScriptAccess' value='always'></param><embed src='http://www.myvideo.de/movie/{ID_VIDEO}' width='470' height='285' type='application/x-shockwave-flash' allowscriptaccess='always' allowfullscreen='true'></embed></object>"),
    96.          
    97. // espn.com - [url=http://espn.go.com/video/category?id=3461971]http://espn.go.com/video/category?id=3461971[/url]
    98.     array('espn.go.com', 'id=%&%0', '<object width="384" height="216" type="application/x-shockwave-flash" id="ESPN_VIDEO" data="http://espn.go.com/videohub/player/embed.swf" allowScriptAccess="always" allowNetworking="all"><param name="movie" value="http://espn.go.com/videohub/player/embed.swf" /><param name="allowFullScreen" value="true"/><param name="wmode" value="transparent"/><param name="allowScriptAccess" value="always"/><param name="allowNetworking" value="all"/><param name="flashVars" value="id={ID_VIDEO}"/></object>'),
    99.          
    100. // tm-tube.com - [url=http://www.tm-tube.com/video/1672/castle-drift]http://www.tm-tube.com/video/1672/castle-drift[/url]
    101.     array('tm-tube.com', 'video/%/', '<script type="text/javascript" src="http://www.tm-tube.com/js/embed.js.php?id={ID_VIDEO}"></script> <noscript> <object type="application/x-shockwave-flash" data="http://www.tm-tube.com/vimp.swf?playlistmode=media&amp;mediaid={ID_VIDEO}&amp;webtv=false&amp;hosturl=http%3A%2F%2Fwww.tm-tube.com%2Fflashcomm.php" id="flashcontent_4cf210bd44226" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" name="c6a80378-3eb2-47e7-8415-ba1f7cff037e" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="480" height="270" align="middle"> <param name="movie" value="http://www.tm-tube.com/vimp.swf?playlistmode=media&amp;mediaid={ID_VIDEO}&amp;webtv=false&amp;hosturl=http%3A%2F%2Fwww.tm-tube.com%2Fflashcomm.php" /> <param name="width" value="480" /> <param name="height" value="270" /> <param name="align" value="middle" /> <param name="quality" value="high" /> <param name="allowscriptaccess" value="always" /> </object> </noscript>'),
    102.          
    103. // mpora.com - [url=http://video.mpora.com/watch/dyJOJ6EPb/]http://video.mpora.com/watch/dyJOJ6EPb/[/url]
    104.         array('mpora.com', 'watch/%&%0/', '<object width="480" height="270" id="mporaplayer_mMDNbskto" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="movie" value="http://video.mpora.com/ep/{ID_VIDEO}/"></param><param name="wmode" value="transparent"></param><param name="allowScriptAccess" value="always"></param><param name="allowFullScreen" value="true"></param><embed src="http://video.mpora.com/ep/{ID_VIDEO}/" width="480" height="270" wmode="transparent" allowfullscreen="true" allowscriptaccess="always"></embed></object>'),
    105.  
    106. // gamevideos.1up.com - [url=http://gamevideos.1up.com/video/id/32267]http://gamevideos.1up.com/video/id/32267[/url]
    107.         array('/gamevideos.1up.com', '/video/id/%$%0', '<object id="flashObj" width="480" height="270" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,47,0"><param name="movie" value="http://c.brightcove.com/services/viewer/federated_f9?isVid=1&isUI=1" /><param name="bgcolor" value="#FFFFFF" /><param name="flashVars" value="videoId=627155564001&linkBaseURL=http%3A%2F%2Fgamevideos.1up.com%2Fvideo%2Fid%2F{ID_VIDEO}&playerID=635383662001&playerKey=AQ~~,AAAABUoMVlk~,Q5X7TGpy-_mNT9cYHA3KsQGGRANgbASB&domain=embed&dynamicStreaming=true" /><param name="base" value="http://admin.brightcove.com" /><param name="seamlesstabbing" value="false" /><param name="allowFullScreen" value="true" /><param name="swLiveConnect" value="true" /><param name="allowScriptAccess" value="always" /><embed src="http://c.brightcove.com/services/viewer/federated_f9?isVid=1&isUI=1" bgcolor="#FFFFFF" flashVars="videoId=627155564001&linkBaseURL=http%3A%2F%2Fgamevideos.1up.com%2Fvideo%2Fid%2F{ID_VIDEO}&playerID=635383662001&playerKey=AQ~~,AAAABUoMVlk~,Q5X7TGpy-_mNT9cYHA3KsQGGRANgbASB&domain=embed&dynamicStreaming=true" base="http://admin.brightcove.com" name="flashObj" width="480" height="270" seamlesstabbing="false" type="application/x-shockwave-flash" allowFullScreen="true" allowScriptAccess="always" swLiveConnect="true" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed></object>'),
    108.  
    109. // liveleak.com - [url=http://www.liveleak.com/view?i=0dc_1290968202]http://www.liveleak.com/view?i=0dc_1290968202[/url]
    110.         array('liveleak.com', 'view?i=%$%0', '<object width="450" height="370"><param name="movie" value="http://www.liveleak.com/e/{ID_VIDEO}"></param><param name="wmode" value="transparent"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.liveleak.com/e/{ID_VIDEO}" type="application/x-shockwave-flash" wmode="transparent" allowscriptaccess="always" width="450" height="370"></embed></object>'),
    111.          
    112. // singsnap.com - [url=http://www.singsnap.com/snap/r/b7116a4a7]http://www.singsnap.com/snap/r/b7116a4a7[/url]
    113.     array('singsnap.com', 'play/%&%0/', '<object width="357" height="458"><param name="movie" value="http://www.singsnap.com/snap/e/baa3f8b56"></param><param name="wmode" value="transparent"></param><embed src="http://www.singsnap.com/snap/e/baa3f8b56" type="application/x-shockwave-flash" wmode="transparent" width="357" height="458"></embed></object>'),
    114.          
    115. // xfire.com - [url=http://www.xfire.com/video/16a7cb/]http://www.xfire.com/video/16a7cb/[/url]
    116.         array('xfire.com', 'video/%$%1', '<object width="380" height="344"><embed src="http://media.xfire.com/swf/embedplayer.swf" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="380" height="344" flashvars="videoid={ID_VIDEO}"></embed></object>'),
    117.          
    118. // wegame.com - [url=http://www.wegame.com/watch/test-1-64/]http://www.wegame.com/watch/test-1-64/[/url]
    119.     array('wegame.com', 'watch/%$%1', '<object width="480" height="387"><param name="movie" value="http://www.wegame.com/static/flash/player.swf?xmlrequest=http://www.wegame.com/player/video/test-1-64"></param><param name="flashVars" value="xmlrequest=http://www.wegame.com/player/video/{ID_VIDEO}&embedPlayer=true"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.wegame.com/static/flash/player.swf?xmlrequest=http://www.wegame.com/player/video/{ID_VIDEO}&embedPlayer=true" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="387"></embed></object>'),          
    120.          
    121. // mtvmusic.com - [url=http://www.mtvmusic.com/artist/shinedown/videos/544995/the_crow_amp_the_butterfly]http://www.mtvmusic.com/artist/shinedow ... _butterfly[/url]
    122.     array('mtvmusic.com', 'videos/%/', '<embed src="http://media.mtvnservices.com/mgid:uma:video:mtvmusic.com:{ID_VIDEO}" width="512" height="319" type="application/x-shockwave-flash" flashVars="dist=http://www.mtvmusic.com&configParams=vl%3Den" allowFullScreen="true" AllowScriptAccess="always"></embed>'),
    123.          
    124. // collegehumor.com - [url=http://www.collegehumor.com/video]http://www.collegehumor.com/video:1943187[/url]
    125.         array('collegehumor.com', 'video:%$%0', '<object type="application/x-shockwave-flash" data="http://www.collegehumor.com/moogaloop/moogaloop.swf?clip_id={ID_VIDEO}&fullscreen=1" width="640" height="360" ><param name="allowfullscreen" value="true"/><param name="wmode" value="transparent"/><param name="allowScriptAccess" value="always"/><param name="movie" quality="best" value="http://www.collegehumor.com/moogaloop/moogaloop.swf?clip_id={ID_VIDEO}&fullscreen=1"/><embed src="http://www.collegehumor.com/moogaloop/moogaloop.swf?clip_id={ID_VIDEO}&fullscreen=1" type="application/x-shockwave-flash" wmode="transparent"  width="640" height="360"  allowScriptAccess="always"></embed></object>'),
    126.          
    127. // sevenload.com - [url=http://en.sevenload.com/videos/G6N7CTP-Bud-Light-RoboWars]http://en.sevenload.com/videos/G6N7CTP- ... t-RoboWars[/url]
    128.    array('sevenload.com', 'videos/%-%0', '<script type="text/javascript" src="http://en.sevenload.com/pl/{ID_VIDEO}/500x366"></script>'),
    129.          
    130. // southparkstudios.com - [url=http://www.southparkstudios.com/clips/254168]http://www.southparkstudios.com/clips/254168[/url]
    131.     array('southparkstudios.com', 'clips/%/', '<embed src="http://media.mtvnservices.com/mgid:cms:item:southparkstudios.com:{ID_VIDEO}" width="360" height="293" type="application/x-shockwave-flash" allowFullScreen="true" allowScriptAccess="always" base="." flashVars=""></embed>'),
    132.          
    133. // videobb.com - [url=http://www.videobb.com/video/7G6sUq8AIW15]http://www.videobb.com/video/7G6sUq8AIW15[/url]
    134.         array('videobb.com', 'video/%.%0', '<iframe class="video-player" type="text/html" width="631" height="385" src="http://www.videobb.com/e/{ID_VIDEO}" frameborder="0"></iframe>'),
    135.          
    136. // [url=http://blip.tv/play/gtZKgc3VVgA]http://blip.tv/play/gtZKgc3VVgA[/url]
    137.         array('blip.tv', 'play/%/%$%0', '<embed src="http://blip.tv/play/{ID_VIDEO}" type="application/x-shockwave-flash" width="640" height="480" allowscriptaccess="always" allowfullscreen="true"></embed>'),
    138.          
    139. // ustream.tv - [url=http://www.ustream.tv/recorded/4842572]http://www.ustream.tv/recorded/4842572[/url]
    140.     array('ustream.tv', 'recorded/%$%0', '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="296" id="utv83160" name="utv_n_40125"><param name="flashvars" value="loc=%2F&amp;autoplay=false&amp;vid={ID_VIDEO}&amp;locale=en_US&amp;hasticket=false&amp;id={ID_VIDEO}&amp;v3=1" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.ustream.tv/flash/viewer.swf" /><embed flashvars="loc=%2F&amp;autoplay=false&amp;vid={ID_VIDEO}&amp;locale=en_US&amp;hasticket=false&amp;id={ID_VIDEO}&amp;v3=1" width="480" height="296" allowfullscreen="true" allowscriptaccess="always" id="utv83160" name="utv_n_40125" src="http://www.ustream.tv/flash/viewer.swf" type="application/x-shockwave-flash" /></object>'),
    141.          
    142. // mlssoccer.com - [url=http://www.mlssoccer.com/videos?catid=112&id=]http://www.mlssoccer.com/videos?catid=112&id=[/url]{ID_VIDEO}
    143.     array('mlssoccer.com', 'id=%$%0', '<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="480" height="324"><param name="source" value="http://mls.neulion.com/mlsvp/scripts/mls.xap"/><param name="initParams" value="catid=112,id={ID_VIDEO},shareembed=true,server=http://mls.neulion.com/mlsvp/,pageurl=http://www.mlssoccer.com/videos?id={ID_VIDEO}&catid=112"/><param name="background" value="Transparent" /><param name="minRuntimeVersion" value="3.0.40624.0" /><param name="autoUpgrade" value="true" /><param name="Windowless" value="true" /><param name="enableHtmlAccess" value="true"/></object>'), );
    144.  
    145.       if (preg_match('@^(?:http://|https://)?([^/]+)@i', $link))
    146.       {
    147.  
    148.           for ($x = 0; $x < sizeof($values); $x++)
    149.           {
    150.               if (stristr($link, $values[$x][0]))
    151.               {
    152.                   if (stristr($values[$x][2], '{DOWNLOAD}'))
    153.                   {
    154.                       $page = file_get_contents(str_replace(' ', '+', $link));
    155.                       $temp4 = explode('%', $values[$x][2]);
    156.                       $temp5 = explode($temp4[1], $page);
    157.                       $temp6 = explode($temp4[2], $temp5[1]);
    158.                       if (stristr(strip_tags(html_entity_decode($temp6[0]), '<object><param><embed>'), '</object>'))
    159.                       {
    160.                           $endtag = '</object>';
    161.                       }
    162.                       else
    163.                       {
    164.                           $endtag = '</embed>';
    165.                       }
    166.                       $temp7 = explode($endtag, strip_tags(html_entity_decode($temp6[0]), '<object><param><embed>'));
    167.                       if (request_var('debug', 0) == 1)
    168.                       {
    169.                           echo $link . '<br />' . $page;
    170.                       }
    171.                       return $temp7[0] . $endtag;
    172.                   }
    173.                   else
    174.                   {
    175.                       $temp = explode('%', $values[$x][1]);
    176.                       $temp2 = explode($temp[0], $link);
    177.                       if ($temp[1] == '$')
    178.                       {
    179.                           $idvideo = substr($temp2[1], 0, strlen($temp2[1]) - $temp[2]);
    180.                       }
    181.                       else
    182.                       {
    183.                           if (stristr($temp2[1], $temp[1]))
    184.                           {
    185.                               $temp3 = explode($temp[1], $temp2[1]);
    186.                               $idvideo = substr($temp3[0], 0, strlen($temp3[0]) - $temp[2]);
    187.                           }
    188.                           else
    189.                           {
    190.                               $idvideo = substr($temp2[1], 0, strlen($temp2[1]) - $temp[2]);
    191.                           }
    192.                       }
    193.                       $s = array('{ID_VIDEO_DECODE}', '{ID_VIDEO}', '{LINK}', '{LINK_ENCODED}');
    194.                       $r = array(urldecode($idvideo), $idvideo, $link, urlencode($link));
    195.                       $values[$x][2] = str_replace($s, $r, $values[$x][2]);
    196.                       if (stristr($values[$x][2], '{P_DOWNLOAD'))
    197.                       {
    198.                           preg_match_all('/\{P_DOWNLOAD[^}]*\}/', $values[$x][2], $matches);
    199.                           foreach ($matches[0] as $item)
    200.                           {
    201.                               $temp8 = explode('%', $item);
    202.                               $page = file_get_contents(str_replace(' ', '%20', $temp8[3]));
    203.                               $temp9 = explode($temp8[1], $page);
    204.                               $temp10 = explode($temp8[2], $temp9[1]);
    205.                               $s[] = $item;
    206.                               $r[] = $temp10[0];
    207.                           }
    208.                       }
    209.                       $values[$x][2] = str_replace($s, $r, $values[$x][2]);
    210.                       if (stristr($values[$x][2], '{HTML_ENTITY_DECODE'))
    211.                       {
    212.                           preg_match_all('/\{HTML_ENTITY_DECODE[^}]*\}/', $values[$x][2], $matches);
    213.                           foreach ($matches[0] as $item)
    214.                           {
    215.                               $s[] = $item;
    216.                               $r[] = html_entity_decode(str_replace(array('{HTML_ENTITY_DECODE%', '%}'), '', $item));
    217.                           }
    218.                       }
    219.                                          
    220.                       return str_replace($s, $r, $values[$x][2]);
    221.                   }
    222.               }
    223.           }
    224.       }
    225.       else
    226.       {
    227.           return $user->lang['NO_VIDEO_URL'];
    228.       }
    229.   }
    230.  
    231.   foreach ($_GET as $key => $item)
    232.   {
    233.       $link = request_var('link', '');
    234.       if ($key != 'link')
    235.       {
    236.           $item = request_var($key, '');
    237.           $link .= '&' . $key . '=' . $item;
    238.       }
    239.   }
    240.   if (request_var('link', ''))
    241.   {
    242.       $embedcode =  "window.document.write('" . get_video($link) . "');";
    243.          
    244.           if (strcmp($embedcode, "window.document.write('');") == 0)
    245.           {
    246.                   echo "window.document.write('" . $user->lang['INVALID_VIDEO_URL']  . "');";
    247.           }
    248.           else
    249.           {
    250.                   echo $embedcode;
    251.           }
    252.   }
    253. ?>
    Задача - научить его понимать ещё видео с вконтакта. Что-то не вкурю, как этот мод работает. Понятно, что это регулярные выражения, но как я не пытался их расшифровать, ничего не вышло. =\
    Объясните в двух словах, что значит например: array('youtube.com', 'v=%&%0' ...
    % - это, я так понимаю, маркеры. & - просто символ, иногда встречающийся в ссылках. 0 - не понятно зачем.
    И как мне правильно записать примерно следующее:

    array('vkontakte.ru', 'oid=значение1&id=значение2&hash=значение3', '<iframe src="http://vkontakte.ru/video_ext.php?oid=значение1&id=значение2&hash=значение3&hd=2" width="607" height="360" frameborder="0"></iframe>'),

    (встроить видео с вконтакта возможно только через кнопку "код видео", т.к. там требуется 3 значения - oid, id и hash, а в ссылке есть только первые два)
     
  2. Freakmeister

    Freakmeister Активный пользователь

    С нами с:
    20 дек 2009
    Сообщения:
    888
    Симпатии:
    5
    doublepost =\
     
  3. iliavlad

    iliavlad Активный пользователь

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    в здравом уме вобще? :D