Ir para conteúdo

POWERED BY:

Arquivado

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

Moulderick

[Resolvido] Como extrair o título de um site

Recommended Posts

Olá!

 

Sou novo aqui no fórum e em programação em PHP.

 

Estou criando, ou pelo menos tentando criar, um script em php para extrair o título de um determinado site.

 

Código do script, resumido à parte que interessa:

 

<?php
...

$url = file_get_contents('http://SITEQUE.EU.QUERO/'); // Até aqui roda beleza, o código fonte é armazenado

preg_match_all('<h1>(.+)</h1>', $url, $titulo);

echo = $titulo;

...?>

 

O problema é que o título não é extraído de jeito nenhum. Alguém poderia me dar uma luz?

 

Qualquer ajuda é muito bem vinda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usa cURL

<?php
$endereco = 'http://www.google.com.br/';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $endereco);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
$content = curl_exec($ch);
curl_close($ch);
preg_match("/<title>(.*)<\/title>/i", $content, $matches);

echo $matches[1];
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kratos Zohr, muito obrigado! Funcionou perfeitamente.

 

Sem querer te explorar, mas será que poderia poderia me dizer como ficaria o primeiro parâmetro da função preg_match para selecionar o texto entre os seguintes delimitadores:

 

<p><strong> TEXTO QUE EU QUERO contados de:</span>

 

<p><strong> TEXTO QUE EU QUERO </strong></p>

 

<th>Homenagem TEXTO QUE EU QUERO </th>

 

<img src=" TEXTO QUE EU QUERO style="margin-left: 6px;'

 

nascido em TEXTO QUE EU QUERO . Encerrado anteriormente.

 

Tenho que estudar muito ainda expressões regulares, me atrapalho com tudo.

 

 

 

Mais uma vez muito obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

A lógica é a mesma

<?php
$string = '<p><strong> TEXTO QUE EU QUERO contados de:</span>';

preg_match("/<strong>(.*) contados de:<\/span>/i", $string, $matches);

echo $matches[1];
?>

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.