Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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??
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
);
?>>
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!
use er que fica mais facil.
ou senão crie um if para ver se o link usa ' ou " depois recicla essa sua gambiarra ai.