Ir para conteúdo

POWERED BY:

Arquivado

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

Sleazy

[Resolvido] Pegar conteudo de outro site com preg_match_all

Recommended Posts

Pessoal gostaria de uma ajuda para pegar notícias de outro site, já com autorização!

Pelo que eu andei pesquisando posso usar a função preg_match_all, porém nunca usei essa função e também não consigo fazer uma ER para isso.

 

O conteudo q eu preciso pegar está neste trecho de código que é o titulo da notícia e o link para a noticia completa:

<font face="verdana" size="1" color="#4A4748"><b>Titulo da notícia 1 aqui</b></font><br>
<font face="verdana" size="1" color="#4A4748"><a href="link.php?id=2368" class="text_net">Link para a noticia 1 completa</a></font>

<font face="verdana" size="1" color="#4A4748"><b>Titulo da notícia 2 aqui</b></font><br>
<font face="verdana" size="1" color="#4A4748"><a href="link.php?id=2369" class="text_net">Link para a noticia 2 completa</a></font>

Alguém pode dar uma força??

Desde já obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou fazer melhor do que te dar UMA força. Vou te indicar uma leitura que vai te ajudar por muito tempo.

 

Guia ER

 

Existe o livro, mas todo o seu conteúdo está disponível gratuitamente para consulta, com vantagem de ser suscetível a atualizações.

 

Com isso, experimente alguns metacaracteres e vamos ajudando a melhorar pouco a pouco.

 

Bons estudos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php
$string = <<<HTML
<font face="verdana" size="1" color="#4A4748"><b>Titulo da notícia 1 aqui</b></font><br>
<font face="verdana" size="1" color="#4A4748"><a href="link.php?id=2368" class="text_net">Link para a noticia 1 completa</a></font>

<font face="verdana" size="1" color="#4A4748"><b>Titulo da notícia 2 aqui</b></font><br>
<font face="verdana" size="1" color="#4A4748"><a href="link.php?id=2369" class="text_net">Link para a noticia 2 completa</a></font>
HTML;

preg_match_all('/(<b>(.*?)<\/b>)|(<a href="(.*?)" )/',$string,$matches,PREG_SET_ORDER);

$saida = array();
foreach($matches as $i=>$indice){
$index = floor($i / 2);
if(!isset($saida[$index])) $saida[$index] = array();
if($i % 2 == 0) $saida[$index]['titulo'] = $indice[2];
	else $saida[$index]['link'] = $indice[4];
}

var_dump($saida);

 

Foi o melhor que consegui. Deve ter jeito mais fácil pela ER.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal valeu pela ajuda!

Imaggens muito bom o guia que você passou, me ajudou muito em relação a ER!

 

No final das contas nem precisei mais usar desta maneira... mesmo assim obrigado a todos!!

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.