2010-11-09 57 views
0

你好,我想開發一個視頻畫廊
但問題是我應該限制他們的尺寸。 所以,如果網站的所有者希望增加他應該粘貼嵌入代碼的視頻..使用php調整嵌入的視頻

<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/R6uJGqS-KQY?fs=1&amp;hl=el_GR"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/R6uJGqS-KQY?fs=1&amp;hl=el_GR" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object> 

我決定與嵌入去,因爲有許多視頻提供商那裏....
所以這是在將其存儲到數據庫之前調整它的最佳方法?
有沒有一個CSS唯一的解決方案?
另外我注意到video.google只使用和內聯css的寬度高度!這將覆蓋任何CSS設置...
所以正則表達式是唯一的解決方案?

+0

這些都是'標籤attributes',不'在線CSS'。 – drudge 2010-11-10 01:08:25

+0

查看video.google.com的嵌入代碼! – GorillaApe 2010-11-10 01:31:21

回答

1

如果我不得不做一個類似的任務,我會將html轉換爲xml並獲取高度/寬度。 之後,我會調整高度或寬度(取決於你需要)來保持方面。 這樣做不會調整實際視頻的大小,但它可以幫助您通過HTML調整大小。

<?php 

$string = <<<XML 
<?xml version='1.0'?> 
<object width="480" height="385"> 
     <param name="movie" value="http://www.youtube.com/v/R6uJGqS-KQY?fs=1&amp;hl=el_GR"> </param>      
     <param name="allowFullScreen" value="true"></param> 
     <param name="allowscriptaccess" value="always"></param> 
    <embed src="http://www.youtube.com/v/R6uJGqS-KQY?fs=1&amp;hl=el_GR" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true"  width="480" height="385"></embed>     
    </object> 
XML; 
$xml = simplexml_load_string($string);           
echo "Original Width/Height:".$xml->attributes()->width."px/".$xml->attributes()->height."px<br>"; 

$newwidth = 280; 
$newheight = ($xml->attributes()->height/$xml->attributes()->width) * $newwidth; 

echo "New Width/Height:".$newwidth."px/".$newheight."px<br>"; 

echo <<<HTML 
    <object width="{$newwidth}" height="${newheight}"> 
    <param name="movie" value="http://www.youtube.com/v/R6uJGqS-KQY?fs=1& amp;hl=el_GR"> </param> 
     <param name="allowFullScreen" value="true"></param> 
     <param name="allowscriptaccess" value="always"></param> 
    <embed src="http://www.youtube.com/v/R6uJGqS-KQY?fs=1&amp;hl=el_GR" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true"  width="${newwidth}" height="${newheight}"></embed> 
    </object> 
HTML; 
?> 

我測試過這一點,你可以看到它在行動:
演示:http://itnews-bg.com/test.php
來源:http://itnews-bg.com/test.phps

可能有其他更好的方法,但是這是我會怎麼做。 希望它可以幫助你:)

1

,當我不得不使用位DailyMotion視頻的嵌入代碼提供錯誤:

<object width="480" height="360"> 
    <param name="movie" value="http://www.dailymotion.com/swf/video/x9rswu?width=&theme=none&foreground=%23F7FFFD&highlight=%23FFC300&background=%23171D1B&start=&animatedTitle=&iframe=0&additionalInfos=0&autoPlay=0&hideInfos=0"></param> 
    <param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param> 
    <embed type="application/x-shockwave-flash" src="http://www.dailymotion.com/swf/video/x9rswu?width=&theme=none&foreground=%23F7FFFD&highlight=%23FFC300&background=%23171D1B&start=&animatedTitle=&iframe=0&additionalInfos=0&autoPlay=0&hideInfos=0" width="480" height="360" allowfullscreen="true" allowscriptaccess="always"> </embed> 
</object>