Изменение размера встроенных видео с помощью php - PullRequest
0 голосов
/ 09 ноября 2010

Здравствуйте, я пытаюсь создать видео галерею
Однако проблема в том, что я должен ограничить их размеры. Поэтому, если владелец сайта хочет добавить видео, он должен вставить код для вставки ..

<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>

Я решил пойти с Embed, потому что есть много поставщиков видео ....
Так какой же лучший способ изменить его размер перед сохранением в базе данных?
Есть ли решение css only?
Также я заметил, что video.google использует только ширину и встроенный CSS! Это перевесило бы любую настройку CSS ...
Таким образом, регулярное выражение является единственным решением?

Ответы [ 2 ]

1 голос
/ 15 декабря 2010

Это выдает ошибку, когда мне приходится использовать код для вставки видео 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>
1 голос
/ 10 ноября 2010

Если бы мне пришлось выполнить аналогичную задачу, я бы преобразовал 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

Могут быть и другие лучшие способы, но я бы так и сделал. Надеюсь, это поможет вам:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...