Некто не знает какие есть окончание ссылок на youtube
после этого watch?v=WVJucx7qzAQ
Некто не знает какие есть окончание ссылок на youtube
после этого watch?v=WVJucx7qzAQ
venom, Вот я у рамзеса скопипастил и переделал на свой лад:
if (isset($_POST['video']) && !empty($_POST['video'])) {
if (isset($_FILES['file'])) {
unset($_FILES['file']);
}
$data['video'] = strtr($data['video'], array(
'http://www.youtube.com' => 'youtube-com',
'http://m.youtube.com' => 'youtube-com',
'http://youtu.be/' => 'youtube-com/watch?v=',
));
preg_match('!youtube\-com\/watch\?v=([a-z\d\-_]+)([^\s|\[]+)?!si', $data['video'], $video);
if (isset($video[1])) {
$video = $video[1];
} else {
$error['video'] = $this->lng->wrong_video_url_given;
}
} Screamer, Я вот какие по находил ...
$array = array('#http(s)?\:\/\/#i',
'#(www\.|de\.)?#i',
'#youtu(be)?\.(com|be)#i',
'#watch\?v\=#i',
'#&feature=(.*?)#i',
'#\/#i'
);
$video = preg_replace($array, '', $video);
$video = preg_replace('#share&list=([a-zA-Z0-9-\_]{3,})#i', '', $video); venom, feature можно и не брать во внимание это ни начто не повлияет. На счет остального х.з. у меня и так все работает.
Вот код вывода:
'<iframe style="float: left;margin: 4px 10px 6px 4px;width: 98%; max-width: 300px; height: auto; min-height: 250px;" src="http://www.youtube.com/embed/' . $video . '?feature=player_detailpage" frameborder="0"></iframe>' Вобщем главное значение v достать остальное параллельно.
Видели поздравление президента Украины? (На фоне детей)
Screamer, А если тебе такую ссылку дадут ?
www.youtube.com/watch?v=qOanCX9rygY&feature=share&list=UUDx2-SCLzDaC4vlh2PCGYQA
venom, Ничего страшного, получу qOanCX9rygY
и выведу как
<iframe src="http://www.youtube.com/embed/qOanCX9rygY?feature=player_detailpage" frameborder="0"></iframe>
venom, а если тебе подсунут
www.youtube.com/watch?v=qOanCX9rygY&feature=<script>alert(document.cookie)</script>&list=UUDx2-SCLzDaC4vlh2PCGYQA
Или просто рандомную строку добавят, так что теперь каждый раз редачить регулярки?
Screamer, Так скрины такие не достает