Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

denis2016

Formulario

Recommended Posts

Estou trabalhando com um sistema que baixa videos do youtube e tem o formulario que a pessoa digita a id do video para baixar que no caso é tudo que fica depois do v= exemple http://www.youtube.com/watch?v=Fw-BM-Mqgeg

 

O sistema só funciona se a pessoa só digitar a id do video

 

Tem como no formulario colocar pra ela digitar a url completa e o formulario automaticamente so enviar os dados depois do v= ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem sim, tenho aqui duas possibilidades.

 

Você pode utilizar regex:

$patternRegex = "/http[s]?:\\/\\/www\\.youtube\\.com\\/watch\\?v=(\\w+)/";
$urlYoutube = "https://www.youtube.com/watch?v=jNQXAC9IVRw";

preg_match($patternRegex, $urlYoutube, $matches);

Veja seu exemplo funcionando aqui.

 

Explicando o $patternRegex:
  • /https:\/\/www\.youtube\.com\/watch\?v= : Esta parte procura o inicio da URL.
  • ? - Indica que o caracter s pode ocorrer uma ou zero vezes.
  • (\w+)/ : Esta parte captura todos os caracteres alfanuméricos e underscores que existirem após o ?=v ate ao fim da URL.

 

Ou usar explode:

$video  = "https://www.youtube.com/watch?v=jNQXAC9IVRw";
$id = explode("?v=", $video);

PHPManual.

 

Código completo:

 

html:

<form action="" method="post">    
    <input type="text" name="urlYoutube" />
    <input type="submit" name="enviar" value="Enviar" />
</form>

php(utilizando o método 1):

$patternRegex = "/https:\\/\\/www\\.youtube\\.com\\/watch\\?v=(\\w+)/";
$urlYoutube = $_POST["urlYoutube"];

preg_match($patternRegex, $urlYoutube, $matches);

php(utilizando o método 2):

$video = $_POST["urlYoutube"];
$id = explode("?v=", $video);

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi tentei implementar aqui mas não consigo, eu uso esse form como eu implemento nele

  <form class="form-download" method="get" id="download" action="getvideo.php">
		<input type="text" name="videoid" id="videoid" size="40" placeholder="VideoID" />
		<input class="btn btn-primary" type="submit" name="type" id="type" value="Download" /><br><br>
		(A ID fica depois "v =" Exemplo: http://www.youtube.com/watch?v=<b>Fw-BM-Mqgeg</b>)



    <!-- @TODO: Prepend the base URI -->
    <?PHP
    include_once('config.php');
    function is_chrome(){
	$agent=$_SERVER['HTTP_USER_AGENT'];
	if( preg_match("/like\sGecko\)\sChrome\//", $agent) ){	// if user agent is google chrome
		if(!strstr($agent, 'Iron')) // but not Iron
			return true;
	}
	return false;	// if isn't chrome return false
    }
    
    ?>
  </form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.