Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá galera.
Estou criando um sistema que cadastra uma url do youtube.
<object width="480" height="385"><param name="movie" value="<? echo "$vidurl" ?>"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="<? echo "$vidurl" ?>" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object>
o $vidurl é o url do video que seria cadastrada ex: http://www.youtube.com/watch?v=KtjYKMtGNRc.
Meu problema seria que nao está visualizando o video na pagina, imagino que nao seja o cadastro mas nao faço ideia ja procurei em todo lugar ... Obrigado a quem poder me ajudar.
Cara foi mau mas isso que você fez ae nao me ajudou em nada meu problema realmente era de cadastro olhem um pg de exemplo http://www.avivacomunicacao.com/vinicios/testando/. Ela cadastra mas nao adiciona no html de src ou value corretamentem acho ate que esse erro que ta dando é HTML ...
codigo da pagina
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="[http://www.w3.org/1999/xhtml">](http://www.w3.org/1999/xhtml)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>...</title>
<style type="text/css"> background-color: #CCCCCC;
}
</style></head>
<body>
<?php
$vidurl=$_POST['vidurl'];
echo "$vidurl<br />";
?>
<object width="480" height="385"><param name="movie" value="<?php echo $vidurl; ?>"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="<?php echo $vidurl; ?>" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object>
<br />
<form id="form1" name="form1" method="post" action="<? $PHP_SELF ?>">
Url do youtube: <input type="text" name="vidurl" id="vidurl" />
<input type="submit" name="button" id="button" value="Cadastrar" />
</form>
<br />
</body>
</html>@Vini
repare..
a url no browser é do tipo:
youtube.com/watch?v=KtjYKMtGNRc
porém a url para o embed é do tipo:
youtube.com/watch?v=KtjYKMtGNRc
notou a diferença ?
se você jogar no <object> direto oque tava na URL, não vai funcionar.
você precisa 'transformar' a string, para o 2° formato que mostrei aqui /v/id_do_video
uai... deu certo aqui o link q você me passou...
A obrigado Willian eu acabei de notar essa diferença e vim aqui postar que tinha descoberto ae vi seu post ja com a resposta (rs)
@tonweb
Sim ta funcionando o problema era cadastrar outro video
@Willian Bruno
Poderia me falar a função que seria usada para transformar essa string substituindo o /watch?v= por /v/. Eu estou estudando agora a str_replace pois nao conhecia so que estou tendo dificuldades para substituir...
cara, eu usaria expressão regular para 'pegar o id do video'.
um preg_replace() mesmo..
@William Bruno
estou com um problema está tudo substituindo normalmente so que esse valor ?v= ainda continua no url.
EX:
Assim que cadastro a url http://www.youtube.com/watch?v=kFQjTHiOmVs a mesma é trocada por http://www.youtube.com/watch?v=?v=kFQjTHiOmVs vejam que o ?v= ainda fica na url.
<?php
$vidurl=$_POST['vidurl'];
$pattern = '/watch/'; // se eu colocar a ?v= o valor que vai sair é o url original do video como se a preg_replace nao existisse no codigo
$replacement = 'v/';
echo preg_replace($pattern, $replacement, $vidurl);
?>
Espero que tenham me entendido
Lutei muito e concegui to postando aqui o codigo.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="[http://www.w3.org/1999/xhtml">](http://www.w3.org/1999/xhtml)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>...</title>
<style type="text/css"> background-color: #CCCCCC;
}
</style></head>
<body> $from = @base64_decode("wMHDwsnKzdPV1Nrcx+Dh4+Lp6u3z9fT6/Oc=");
$to = @base64_decode("QUFBQUVFSU9PT1VVQ2FhYWFlZWlvb291dWM=");
$final = strtr($str, $from, $to);
$final = str_replace("/watch?v=","/v/" ,$final);
return $final;
}
$vidurl=$_POST['vidurl'];
?>
<object width="640" height="385"><param name="movie" value="<? echo subsurl($vidurl); ?>"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="<? echo subsurl($vidurl); ?>" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object>
<form id="form1" name="form1" method="post" action="<? $PHP_SELF ?>">
Url do youtube:
<input type="text" name="vidurl" id="vidurl" />
<input type="submit" name="button" id="button" value="Cadastrar" />
</form>
</body>
</html>
[RESOLVIDO] obrigado a todos que me ajudaram (:
Amigo, fiz da seguinte forma e deu certo, acreito que o seu deu errado pq você n colobou o "php" depois do "<?" e faltou o o ";" depois da viariável.
Abraçoo!