Ir para conteúdo

POWERED BY:

Arquivado

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

José Ari Junior

[Resolvido] extrair links de url

Recommended Posts

Olá galera, estou com um "probleminha"

 

estou querendo extrair uns dados de um determinado link (na verdade são vários) fazendo um while, por exemplo:

 

<a href="http://www.meusite.com.br/essapagina.html"'>http://www.meusite.com.br/essapagina.html"><span>Meu'>http://www.meusite.com.br/essapagina.html"'>http://www.meusite.com.br/essapagina.html"><span>Meu Link</span></a>

 

 

desse link eu quero extrair o que está dentro do href e a página principal. O que eu quero:

 

$href = "http://www.meusite.com.br/essapagina.html"'>http://www.meusite.com.br/essapagina.html"

$pagina = "http://www.meu site.com.br"

 

 

eu já tentei:

$s = explode('"', $var);
$sa = explode('"', $s[1]);
$sai = $sa[0];
echo $sai . "<br>";

 

para o href funciona direitinho, ele me retorna o que está dentro do href, mas se o link vier com "'" (apóstrofo) em vez de "" (aspas) ele não funciona, então eu queria um que funcionasse tanto com apóstrofo quanto para aspas!

 

estou perdendo os (poucos) cabelos que tenho....

 

Se alguém puder ajudar... valew!

 

ninguem??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Solução sem uso de Expressões Regulares:

 

<?php

$source = '<a href="http://www.meusite.com.br/essapagina.html"><span>Meu Link</span></a>';

$DOMDocument = new DOMDocument( '1.0', 'UTF-8' );
$DOMDocument->loadHTML( $source );

$url = $DOMDocument->getElementsByTagName( 'a' )->item( 0 )->getAttribute( 'href' );

var_dump(

   $url, // http://www.meusite.com.br/essapagina.html

   parse_url( $url, PHP_URL_HOST ) // www.meusite.com.br  

);

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Solução sem uso de Expressões Regulares:

 

<?php

$source = '<a href="http://www.meusite.com.br/essapagina.html"><span>Meu Link</span></a>';

$DOMDocument = new DOMDocument( '1.0', 'UTF-8' );
$DOMDocument->loadHTML( $source );

$url = $DOMDocument->getElementsByTagName( 'a' )->item( 0 )->getAttribute( 'href' );

var_dump(

   $url, // http://www.meusite.com.br/essapagina.html

   parse_url( $url, PHP_URL_HOST ) // www.meusite.com.br  

);

?>

 

Carlos, muito obrigado cara, deu certo, era exatamente isso que eu queria!!

 

01100011cc, eu sei que é uma gambiarra por isso pedi ajuda no fórum. Ainda estou aprendendo e ninguém sabe de tudo! Se você não queria ajudar era só não responder nada, ok!

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.