Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #59 da revista programar. Faz já o download aqui!

km92

Mostrar título de um url

Mensagens Recomendadas

km92    0
km92

Boa noite.

Será que alguém me pode ajudar?

Preciso de conseguir mostrar o título de um url num widget em wordpress.

Será que alguém me consegue dizer como se faz isto em php?

Desde já agradeço

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Virneto    75
Virneto

Boas,

calculo que estejas a falar do title.

em php há várias formas de o fazer.

Não sei se já iniciaste em alguma ou se tens preferências.

Eu já o fiz com recurso a CURL: aqui fica um exemplo (não testado):

$useragent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/3.5.7";
$url="www.blablabla.com";
$iniciotitle="<title>";
$fimtitle="</title>";

$buscatitle=curl_init();
  curl_setopt ($buscatitle, CURLOPT_USERAGENT,$useragent);
  curl_setopt ($buscatitle, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt ($buscatitle, CURLOPT_URL, $url);
  $executa=curl_exec($buscatitle);
curl_close($buscatitle); //agora tens a variavel $executa com uma string com o codigo do url dado
//em dúvidas faz:  var_dump($executa);
$inicio=stripos($executa, $iniciotitle); //verificas em que posição está o inicio de <title>
$fim=stripos($executa, $fimtitle); //verificas em que posição está o inicio de </title>

$iniciodetitle=$inicio+7; //adianta o n.º de caracteres equivalente à string <title>
$cumprimento=$fim-$iniciodetitle; //sabendo onde começa o title e onde termina, verificas o seu cumprimento

$titlefinal=substr($executa, $iniciodetitle, $cumprimento); //com base no numero de caracteres vais buscar apenas esta string

echo "o title do url dado é: ".$titlefinal;

Não tenho dúvidas que há formas mais elegantes de o fazer. pesquisa por Dom ou file_get_contents + RegEx.

Have Fun!


"Que inquieto desejo vos tortura, Seres elementares, força obscura? Em volta de que ideia gravitais?" >> Anthero de Quental

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Linuxando.com | ...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Dannyps    1
Dannyps

Podes utilizar DOMDocument, assim:

$url="http://google.pt";
$html = file_get_contents($url);
libxml_use_internal_errors(true);
$doc = new DOMDocument;
$doc->loadHTML( $html);
$xpath = new DOMXpath( $doc);
$node = $xpath->query( '//title')->item( 0);
echo $node->textContent; //Mostra 'Google', dado o URL inserido acima

A técnica chama-se screen scraping, podes pesquisar mais na net sobre isto :)

Editado por Dannyps

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
km92    0
km92

Obrigado a todos pelas respostas.

Pelos vistos já tinha a solução, mas o problema estava no host, que não permitia o código php.

Resolvi com o ficheiro php.ini

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.