Изменение размера встроенных видео с помощью 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 …
Итак, regexp – единственное решение?

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

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

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