Ir para conteúdo

POWERED BY:

Arquivado

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

Brunck

[Resolvido] Como deixar apenas string desejada de um link?

Recommended Posts

Amigos, estou com um problema, quero retirar a url que redireciona para o outro site e deixar apenas o site redirecionado.

Como posso fazer isso?

Vejamos o exemplo do meu problema:

 

Tenho que fazer um form que faça um post e me retorne apenas o que eu desejo, o que desejo é isso:

http://www.site.com/?i=SOASJASS <- sendo que SOASJASS é uma variável de 8 letras e números, que pode ser diferente sempre.

Porém eu estou meio confuso em como retirar a parte em vermelho:

Ou seja, quero retirar todo conteúdo que existir, desde que não seja um link como esse:

http://www.site.com/?i=XXXXXXXX

 

Como posso fazer isso? Alguém pode me dar uma luz?

 

obs: "http://www.site2.com/?link=" pode ser diferente as vezes, por isso preciso deixar apenas o que eu quero e retirar todo o outro conteúdo.

 

Olha, eu sei que é pedir muito, mas por favor, se alguém puder me ajudar, eu ficaria muito agradecido.

 

Abraços a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso http://www.site2.com/?link= eh o site que estah recirecionando para http://www.site.com/?i=XXXXXXXX certo???

 

Não entendi muito bem a aplicação....tipo, você quer redirecionar o usuário para http://www.site.com/?i=XXXXXXXX e que isto apareca no header??? tente explicar melhor.

 

tipo, esta passando os parametros

http://www.site2.com/?link=

http://www.site.com/?i=XXXXXXXX

 

então você tem que apenas pegar estes parametros e fazer oque quiser com eles...se for GET

 

if (isset($_GET['link']){
    $link = $_GET['link'];
    // faz algo aqui...
}

Ou POST

if (isset($_POST['link']){
    $link = $_POST['link'];
    // faz algo aqui...
}

A mesma idéia para o parametro i, mas como disse, não entendi bem sua questão, tente dar um melhor exemplo de aplicação para isto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, eu quero pegar sempre o parametro www.site.com/?i=XXXXXXXX e desprezar todo o restto, mesmo se antes disso, vier link= ou url=, entende? quero retirar tudo.

Obrigado pela atençao.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu vou ser mais específico dessa vez.

Quero pegar os links do megaupload apenas.

http://www.elitedosfilmes.com/Down/?url=http://www.megaupload.com/?d=6GT3JLM7
http://www.elitedosfilmes.com/Down/?url=http://www.megaupload.com/?d=VQZLG328
http://www.elitedosfilmes.com/Down/?url=http://www.megaupload.com/?d=2GX9A9J5
http://www.linkpago.com/load.php?u=43&s=http://www.megaupload.com/?d=X6PWBZ8T

Veja que o último é diferente dos primeiros, então por isso eu gostaria de ignorar todo o resto e só deixar o link do megaupload.

Fazer um form que quando enviado, ele faz um post e trata essa situação.

Eu acho que isso não pode ser feito por parse_url().

Se alguém puder me dar um exemplo, seria de grande ajuda.

Obrigado a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php
$links = array();
$links[] = 'http-~~-//www.elitedosfilmes.com/Down/?url=http-~~-//www.megaupload.com/?d=6GT3JLM7';
$links[] = 'http-~~-//www.elitedosfilmes.com/Down/?url=http-~~-//www.megaupload.com/?d=VQZLG328';
$links[] = 'http-~~-//www.elitedosfilmes.com/Down/?url=http-~~-//www.megaupload.com/?d=2GX9A9J5';
$links[] = 'http-~~-//www.linkpago.com/load.php?u=43&s=http-~~-//www.megaupload.com/?d=X6PWBZ8T';

foreach ( $links as $link ){
printf( "Original...: %s\n" , $link );
printf( "Modificado.: %s\n" , preg_replace( '/.*(http:\/\/www\.megaupload\.com\/(.*)?\?d\=[A-Z0-9]+)/' , '$1' , $link ) );
print "--------------------------------------------------\n";
}

 

Saída:

Original...: http://www.megaupload.com/?d=6GT3JLM7'>http://www.elitedosfilmes.com/Down/?url=http://www.megaupload.com/?d=6GT3JLM7
Modificado.: http://www.megaupload.com/?d=6GT3JLM7
--------------------------------------------------
Original...: http://www.megaupload.com/?d=VQZLG328'>http://www.elitedosfilmes.com/Down/?url=http://www.megaupload.com/?d=VQZLG328
Modificado.: http://www.megaupload.com/?d=VQZLG328
--------------------------------------------------
Original...: http://www.megaupload.com/?d=2GX9A9J5'>http://www.elitedosfilmes.com/Down/?url=http://www.megaupload.com/?d=2GX9A9J5
Modificado.: http://www.megaupload.com/?d=2GX9A9J5
--------------------------------------------------
Original...: http://www.megaupload.com/?d=X6PWBZ8T'>http://www.linkpago.com/load.php?u=43&s=http://www.megaupload.com/?d=X6PWBZ8T
Modificado.: http://www.megaupload.com/?d=X6PWBZ8T
--------------------------------------------------

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, mas nem sempre o começo da URL será a mesma, entende?

Nem sempre eu saberei qual o inicio da URL.

Esse é o meu problema...

 

Obrigado mesmo assim à todos, vamos ver se alguém consegue me ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

UEHAUEUHA, consegui, obrigado João Batista Neto e a todos que tentaram me ajudar.

Abração.

 

Segue meu código sem tratamento de erros:

 

<form id="form1" name="form1" method="post" action="">
  <label>
  <textarea name="urls" id="urls" cols="45" rows="5"></textarea>
  </label>
  <p>
    <label>
    <input type="submit" name="button" id="button" value="Submit" />
    </label>
  </p>
</form>
<?php 
$urls=$_POST['urls'];
printf( "Modificado.: %s\n" , preg_replace( '/.*(http:\/\/www\.megaupload\.com\/(.*)?\?d\=[A-Z0-9]+)/' , '$1' , $urls ) );


?>

Agora vou implementá-lo onde quero usar.

Abraços.

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.