Ir para conteúdo

Arquivado

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

aletres

Como pegar todos os resultados de um ereg?

Recommended Posts

O código pega os vídeos do Youtube e armazena na Array $resultado.

O erro é que ele guarda apenas um resultado na Array:

 

// Pega conteúdo de uma página:
$site = file_get_contents('http://www.numclique.net/page/3/');

// Verifica se há link de vídeo para o Youtube (utiliza Expressões Regulares):
if (ereg('<embed src="http://www.youtube.com/watch?v=([[:alnum:]]*)', $site, $resultado)) {
	echo("Casou<br>");
} else {
	echo("Nao Casou<br>");
}

// Exibe resultados dos IDs dos videos:
echo($resultado[1].'<br>');
echo($resultado[2].'<br>');
echo($resultado[3].'<br>');

Tentei fazer com o While mas ficou infinito.

 

Como resolvo isso?

 

Obrigado.

Alexandre.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tive uma evolução:

 

$site = '<embed src="
src="http://www.youtube.com/watch?v=BCC7rFxo6Q2">2</embed><embed src="http://www.youtube.com/watch?v=BCC7rFxo6Q3">3</embed><embed src="http://www.youtube.com/watch?v=BCC7rFxo6Q4">4</embed><embed src="http://www.youtube.com/watch?v=BCC7rFxo6Q5">5</embed>'; if (preg_match_all("#\<embed src=\"http://www.youtube.com/watch?v=([[:alnum:]]*)#", $site, $resultado)) { // Pega ID do Youtube: retorna os alfanumericos que estão entre () echo("Casou:<br>"); } else { echo("Não casou:<br>"); } //foreach ($resultado as $chave => $chave) { foreach ($resultado[1] as $chave2 => $chave2) { echo($resultado[1][$chave2].' (1/'.$chave2.')<br>'); } //}

Retornou:

 

BCC7rFxo6QA (1/0)<br>

BCC7rFxo6Q2 (1/1)<br>

BCC7rFxo6Q3 (1/2)<br>

BCC7rFxo6Q4 (1/3)<br>

BCC7rFxo6Q5 (1/4)<br>

 

Porém se eu troca a primeira linha por um site real ele retorna apenas um resultado ([1/0]):

 

$site = file_get_contents('http://www.numclique.net/page/3/');

O que está acontecendo?

 

Agradeço.

 

Alexandre

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.