Būtībā visizdevīgāk ir taisīt ar pregmaču. Es uztaisīju tā (te būs gan vimeo, gan youtube):
<?php
$pattern = array(
'/<object\s+width="(\d+)" height="(\d+)".+(http:\/\/www\.youtube\.com\/v\/([A-Za-z0-9\-_&]+)).+<\/object>/s',
'/<object\s+width="(\d+)" height="(\d+)".+(http:\/\/vimeo\.com\/moogaloop\.swf\?([A-Za-z0-9\-_&;=\.]+)).+<\/object>.*/'
);
function validate_embed($code, $patternArr) {
$code = html_entity_decode($code);
if (is_array($patternArr)) {
foreach($patternArr as $pattern) {
if(preg_match($pattern, $code, $vars)) {
$data = serialize($vars);
break;
}
}
return isset($data) ? $data : FALSE;
}
echo "kaut kas ne tā";
return FALSE;
}
?>
Kad izmanto funkciju, atdod atpakaļ serializētu masīvu, kuru var grūst iekš db. Lai tiktu pie datiem, vajag izmantot
<?php $dati = unserialize($dati); ?>
Video ielikšana pēc tam ir vienkārša, izmantojot jQuery + flashembed (http://flowplayer.org/tools/flashembed.html) ar sekojošu kodu
$(document).ready(function(){
$("#flashembed").flashembed({
src: <?=$dati[3]?>,
width: <?=$dati[1]?>,
height: <?=$dati[2]?>
});
});
#flashembed ir jebkurš html konteineris
src, width un height tiek padoti no augšā iegūtajiem.
Nu kaut kā tā...
Lūdzu! No alus neatteikšos :D